如何分配一個詞來執行特定的命令
我很新
bash
,我什至不知道我想要的是否可能。如果在不知不覺中我要求太多而且不可能,請提前道歉。
bash
在進行小的編輯後,我過於頻繁地執行許多不同的腳本來測試和學習過程。每分鐘一遍又一遍地輸入整個命令真的很煩人,這浪費了我很多時間。
例如,目前要執行我總是輸入的腳本
su -c sh /sdcard/downloads/script1.sh
無論如何我可以通過輸入一個單詞來分配整個命令嗎?我只想輸入例如
script1
這實際上應該執行
su -c sh /sdcard/downloads/script1.sh
(或為該實例定義的任何命令)。
簡而言之,一個單詞會有很多對,它是相應的命令,這樣可以節省我的時間。
而這件事應該是永久的。
即使我關閉終端並重新打開它並輸入我指定的單詞,它也應該執行相應的定義命令。
我希望有辦法做到這一點。
~/.bashrc
在您的文件中創建別名:alias script1='su -c sh /sdcard/downloads/script1.sh'
然後,別名將在您啟動的下一個 shell 會話中可用。
別名 script1=“su -c /sdcard/downloads/script1.sh && su -c /sdcard/downloads/script2.sh’。這看起來正確嗎?
並不真地。這可能不是要走的路。只是不實用。它適用於這個別名和這兩個腳本在它們目前的位置,但是你不想為你呼叫的每個腳本創建別名。您提到“許多不同的學習腳本”。
您必須組織您的選項卡完成、命令歷史記錄、PATH、別名、函式、腳本、bash 登錄 (
.bashrc
)。不需要太多,但必須協調。注意:別名命令本身是製表符可完成的。並且 readline 函式
shell-expand-line
可以在執行之前擴展別名。這意味著您可以scri<tab><M-C-e>
並且獲得整行,因此您可以在按 Enter 之前進行編輯。只是為了展示什麼是可能的。要重複特殊命令,您寧願使用命令歷史記錄。要執行普通腳本,您可以使用 shell 功能,如別名、PATH、函式和其他腳本。