Shell-Script
Bash 無法從腳本執行命令:找不到 mkdir 命令
我在 bash 中有單獨的任務腳本。這是損壞的:
#!/bin/bash PATH=/home/name/ mkdir $PATH cd $PATH && echo "done." exit 0
今天它壞了,第一次它根本不想執行 cd,而是創建了目錄。第二次它只是說“找不到 mkdir 命令”。使用分號完全執行此命令可以正常工作。什麼情況?
PATH
是一個環境變數。這是您的 shell 用來查找將要執行的命令的工具。更準確地說,PATH
環境變數包含一個以冒號分隔的目錄名稱列表,這些目錄名稱將按順序搜尋具有您在鍵入命令時指定的名稱的執行檔。(當然,除非您鍵入的命令是 shell 內置、別名或函式。)當您
PATH
在腳本中設置時,您將使用同名的 shell 變數“屏蔽”環境變數的值。從中得出的結論是不要將所有大寫名稱用於正常 shell 變數。
由於您不打算使用環境變數,因此只需使用小寫的變數名稱。
另見: