上の参考書と以下の記事を参考にさせていただきました。
なぜ調べたか
/home/user/practice/text/test.txt
, /home/user/practice/shell/directory.sh
がある前提で進めます。
#!/bin/bash PATH=../text/test.txt echo `head -n 10 $PATH`
これを実行すると...
$ ./directory.sh ./test.sh: 行 4: head: コマンドが見つかりません
となる。
親のディレクトリ指定がよくないみたい。
解決
結論を言えば超簡単。
#!/bin/bash CURRENT_DIRECTORY=$(cd $(dirname $0); pwd) DIR_NAME=$(dirname ${CURRENT_DIRECTORY}) echo `head -n 10 $DIR_NAME/text/test.txt`
dirname <カレントディレクトリ>
で親ディレクトリのパスを取得できます。
30分くらい詰まった。