As rookie

ルーキーインフラエンジニアがインフラのこと以外も結構書いてしまうブログ

bashコマンド(5日坊主)

  • この記事はsolo_advent_calender 2016年12月5日のものです。

こんにちは ショート advent calender5日目です。

bash使っている人多いと思います。

bashコマンドもあります。

man bash
bash は、標準入力やファイルから読み込んだコマンドを実行する、 sh 互換の
       コマンド言語インタプリタです。 bash には、Korn シェルや C シェ ル  (ksh
       や csh) の便利な機能も採り入れられています。

正確にはコマンド言語インタプリタだそうです。

bash -c で入力を文字列から読み込んでくれます。

# 同じ結果が返ってくる
$bash -c "ls"

$ls

ansibleでshellモジュールを利用するときに

---
shell: ls -la

とかしますが、shellモジュールでsedgrep などで文字を検索するときにコロン(:)が入っているとansibleではエラーになります。

これを

shell: bash -c "grep :"

とするとコロンもコマンドの一部として扱うことができます。

bash -l環境変数読みこみなので、pyenv等のルート意外のホームディレクトリにインストールされるコマンドも実行できます。

become: False
shell: bash -lc "pyenv versions"