次のコードが機能しないのはなぜですか?
#!/bin/sh
PATH=$PWD/Info
defaults read $PATH
実行するたびに
./script: 行 3: デフォルト: コマンドが見つかりません
1行でやるとうまくいきます
defaults read $PWD/Info
それは大丈夫です。ただ興味があるだけです。
答え1
特別な変数であるを変更しているためです$PATH
。シェルは実行可能プログラムの検索に PATH を使用します。 はdefaults
おそらくそのうちの 1 つですが、そのフォルダーを PATH から削除すると、シェルはそれを実行できなくなります。
答え2
パスを置き換えるのではなく、パスに追加します。
PATH=$PWD/Info:$PATH