Bash

可以將 Bash 別名命令插入到我的 macOS 終端文本輸入中,以便我可以調整和執行它嗎?

  • April 19, 2021

我有一些 Bash 別名,用於在我的 macOS 終端中使用 Bash shell 執行標準的日常任務。有時我發現自己想要執行一個與我已經配置的別名非常相似的一次性命令。我目前的方法是鍵入alias my-alias-name,複製引號的命令部分中的結果部分,將其粘貼回終端輸入,然後對其進行編輯。

這種方法會分散注意力並且有點耗時,因為在我開始輸入單詞後命令自動完成不起作用alias(所以我要麼必須輸入完整的別名,要麼先自動完成我的別名,然後再回到開頭的行和類型alias)。這也意味著我必須使用滑鼠並替換我目前的剪貼板內容,以及辨識和複製輸出的正確部分。

有沒有辦法自動將別名命令插入終端輸入,而不必複製/粘貼選擇的命令輸出?

$ alias example-alias="ls -l"

<exa> tab, control+ A<別名>

$ alias example-alias
alias example-alias='ls -l'

用滑鼠高亮單引號之間的文本,+ C+V

例如,有沒有辦法編寫一個別名/腳本expand-alias,以便以下將別名命令插入到要修改的命令輸入中?

expand-alias example-alias

根據這個提示,可以使用control++在目前行上執行別名、歷史記錄和 shell 擴展optionE因此,可以鍵入/自動完成別名命令,鍵入此組合鍵,並將文本插入到要修改的輸入中。

這種方法的一個缺點是它需要記住一個僅偶爾使用的三鍵組合。取決於你的大腦是如何工作的,它可能比一個有名的命令更難記住。

引用自:https://unix.stackexchange.com/questions/581841