宣告變數後執行時預設“未找到指令”

宣告變數後執行時預設“未找到指令”

為什麼下面的程式碼不起作用?

#!/bin/sh
PATH=$PWD/Info
defaults read $PATH

每次我執行它時我都會得到

./script: 第 3 行:預設值:未找到指令

一旦我在一行中完成它就可以了

defaults read $PWD/Info

這樣就可以了。我只是好奇。

答案1

因為你正在改變$PATH,這是一個特殊的變數。 shell 使用 PATH 來搜尋執行程式。defaults可能是其中之一,但從 PATH 中刪除其資料夾後,shell 無法再執行它。

答案2

添加到路徑而不是替換它:

PATH=$PWD/Info:$PATH

相關內容