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