我的虛擬機器上有腳本,我想在沒有腳本的情況下運行[]$ ./myscript
[studentuser@CentosStudentSvr ~]$ myscript
-bash:iduser:找不到指令
否則會出錯:
-bash: iduser: command not found
我該如何修復它?
謝謝
答案1
如果您輸入myscript
,您的 shell 將在您的 PATH 中尋找是否可以找到名為 的命令myscript
。與 Windows 不同,預設情況下,目前目錄不在您的路徑中。
這意味著您要么想要:
- 暫時將其新增至您的路徑(手動)
- 每次啟動時將其新增至您的路徑(編輯資料夾中的啟動腳本。哪一個取決於您使用的 shell。通常是 .profile 或 .bashsomething)
- 或指定二進位檔案的完整路徑。例如
./iduser
或/home/user229525/iduser
。
如果目前目錄 ( .
) 已在您的路徑中,則檢查您的程式。
- 它可以執行嗎? (ls -l,在 rwx 中尋找
x
) - 如果是劇本,是不是以 shebang 開頭? (例如是第一行
#!/usr/bin/env bash
)。
答案2
Bash 在 $PATH 變數中列舉的路徑中尋找「指令」。將腳本移至/usr/bin
$PATH 中提到的一個或另一個資料夾(或將腳本所在的資料夾新增至 $PATH 中)。
您也可以為正在執行的 bash 定義一個別名alias myscript="bash /path/to/script/myscript"
。 (請自行驗證文法,我現在不確定)