bash カレントディレクトリの取得
macOSでシェルスクリプトからターミナルを開き、シェルスクリプトを実行しているカレントディレクトリに移動したい。
カレントディレクトリの取得
- SCRIPT_DIR=$(cd $(dirname $0) ; pwd)
例:
シェルスクリプトから新しいターミナルを開き、元のシェルスクリプトを実行しているカレントディレクトリに移動
参考
カレントディレクトリの取得
〜書き方による読みやすさの違い〜
- SCRIPT_DIR=$(cd $(dirname $0) ; pwd)
- #!/usr/bin/bash
- # get dirname of this script
- SCRIPT_DIR=$(cd $(dirname $0) ; pwd)
- echo $SCRIPT_DIR
- # set command
- NEW_TERMINAL="osascript -e 'tell app \"Terminal\" to do script \"cd "$SCRIPT_DIR"; ls -l\"'"
- # open new terminal
- eval ${NEW_TERMINAL}
- #!/usr/bin/bash
- # get dirname of this script 1
- # $()はネストされていても分かり易い
- SCRIPT_DIR1=$(cd $(dirname $0) ; pwd)
- echo $SCRIPT_DIR1
- # get dirname of this script 2
- # クォテーションでネストすると分かり難くい
- SCRIPT_DIR2=`cd "\`dirname $0\`"; pwd`
- echo $SCRIPT_DIR2
- # get dirname of this script 3
- # ネストせずに書いても分かり易い
- cd `dirname $0`
- SCRIPT_DIR3=`pwd`
- echo $SCRIPT_DIR3
Comments
Post a Comment