科学の箱

科学・IT・登山の話題

IT

chefでnot_ifを利用するときのコマンドの戻り値を確認する

投稿日:

Chefでrbenv環境を構築する際に.bash_profileを書き換える。この時にすでに命令が入っていれば書き換えをしたくない。

この動作はnot_if句を導入することで可能だけど、コマンドの戻り値がわからないと正しく動いているかを確認できない。

命令に対して戻り値を確認する方法は実行後に$?を確認する。ここではrbenvの.bash_profile書き換えを参考にして例を載せておく。

rbenvでは下記のexportを.bash_profileに書き込む。

export PATH="$HOME/.rbenv/bin:$PATH"

すでにこのステートメントがあるならば書き込みしたくない。grepで確認ができる。このときに戻り値は以下のようになる。

rbenvがない場合

[maka@localhost ~]$ grep abcde ~/.bash_profile
[maka@localhost ~]$ echo $?
1

rbenvがすでにある場合

[maka@localhost ~]$ grep rbenv ~/.bash_profile
export PATH="$HOME/.rbenv/bin:$PATH"
[maka@localhost ~]$ echo $?
0

メタ情報

inarticle



メタ情報

inarticle



-IT
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

gitで日本語が3ケタのコードになってしまうときの対応

git config –global core.quotepath false Related posts:muninのインストールと初期設定RDPで表示されている画面が小さくて文字が読めないgit …

no image

ドメインレジストラの決め方

会社のドメインレジストラを決める際のポイントについて考えてみる。 個人でドメインを取得する場合には、重要なポイントになるのは価格である。 価格はgTLDによっても違うのでなるべく安めのドメインを選ぶ。 …

no image

berkshelf error

これは何だろう WARNING: Berkshelf could not be loaded WARNING: Please add the berkshelf gem to your Gemfile …

no image

The email address that is used in your default Microsoft Office Outlook profile differs from the sign-in address that is used in Office Communicator

OutlookのプロファイルとOffice Communicatorのアカウントが異なると出るエラー。 ワークアラウンドは3つある。 Microsoft Online Service Sign In …

no image

Networkerでラベルを付け直す

Networkerでテープを使いまわす際に、異なったNetworkerサーバーで登録されたテープはボリューム名がついていても、リポジトリに登録されていないために利用できない。 ラベル付けをしないで読み …

2014年10月
« 9月   11月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

side bar top



アーカイブ

カテゴリー