ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。
ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。
ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。
ゲンゾウ用ポストイット シェル / Bash / Linux / Kubernetes / Docker / Git / クラウドのtipsを発信。
よくやるのが以下の記述だったのだけれど SCRIPT_DIR=$(cd $(dirname $0); pwd) これだと、このスクリプトをシンボリックリンクから呼び出したときに、 実ファイルのパスでなくリンク先のディレクトリが取得されてしまっていた。 シンボリックリンクから呼び出されたときも、実ファイルのパスを返すようにするには、 SCRIPT_DIR=$(cd $(dirname $(readlink $0 || echo $0));pwd) のようにすればよさげ。 追記)id:ngyukiさんにご指摘をいただいたので修正。 スクリプトがシンボリックリンクなディレクトリにあることを考慮して readlink -f とか cd -P とか pwd -P とかにするとなお良いのかな おお、なるほど。やってみたら確かにシンボリックリンクなディレクトリにあるとうまくいかなかった。なので修正した以
Update & 注意 (2017.5.9) 最初の投稿からかなりの時間が経過しましたが、いくつか修正点が見つかりましたので、それぞれ訂正の注記を入れておきました。また、ポイントのまとめを表に改めました。 以下の記述は次の環境で動作確認しています。 OS X 10.11.6, Homebrew よりインストールされた Bash 4.4.12 Ubuntu 14.04.5 LTS, Bash 4.3.11(1)-RELEASE macOS 10.12.4, OSデフォルトの GNU bash, version 3.2.57(1)-release ログインシェルとして Bash が使用されていることを確認するには、echo $SHELL として環境変数 $SHELLに bash の実行ファイルが指定されていることを確認します。(2018.5.16追記: Ubuntu等、左記の方法では確かめられ
.bash_profile はログイン時にのみ実行されます。具体的な用途は: 環境変数を設定する (export する変数) 環境変数はプロセス間で勝手に受け継がれるのでログイン時のみ設定すれば十分です。 .bashrc は対話モードの bash を起動する時に毎回実行されます。具体的な用途は: 環境変数でない変数を設定する (export しない変数) エイリアスを定義する シェル関数を定義する コマンドライン補完の設定をする これらは bash を起動する度に毎回設定する必要があるものです。 その他 .bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの? を参照。もっと突き詰めたい人は Linux: .bashrcと.bash_profileの違いを今度こそ理解する。 Bash 以外のシェルを使用しない人は .bash_profile と .bashrc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く