私のシステム上*
cd # move to home
mkdir tempdir
PATH="$PATH:~/tempdir" # put tempdir in path
touch tempdir/tempscript
echo -e '#!/bin/bash\necho h' > tempdir/tempscript # write script
chmod u+x tempdir/tempscript # make executable
tempscript # execute
スクリプトを見つけてtempdir/tempscript
印刷しますh
。
ただし、 echo$PATH
を実行する~/tempdir
と、最後に表示されるため、展開されませんでした。割り当てを二重引用符で囲んでいるため、これが起こると予想されます。
ただし、評価時にチルダ展開が発生する理由に関するドキュメントは見つかりません$PATH
。(PATH 変数にはまだ が含まれていることに注意してください~
。)
これは移植可能な動作ですか?
* GNU bash 3.2 を搭載した Mac OS X