シェルスクリプトのifは条件式のコマンドを実行した際の終了ステータスを判定している。 シェルスクリプトのifは一般的にtestコマンドで判定を行うが、test以外のコマンドを利用することも可能。 おまけ man builtinsを見ると、SYNOPSISにtest、[が記載されているので、それぞれBashのビルトイン...
$1実行時に指定された 1 番目の引数 $n実行時に指定された n 番目の引数 実行結果の比較 例: if [ $? -ne 0 ];then 変数説明 $?直前のコマンドの実行結果 シェル書いてると、いつも忘れてぐぐってることをここにまとめていこうと思います。
functionspf(){ssh$1-N $1はサーバ名localpid=$!# SSHのプロセスIDを保存するshift# $2以降はコマンドとその引数$@# コマンドを呼び出すkill$pid# SSHポートフォワーディングを止める} これでsshでリモートのコマンドを実行するようなノリで使えるようになりました。 $ spf myhost m...
では、条件部のコマンドで偽(0以外)と評価されたため、条件部以外のコマンドがひとつも実行されなかった場合、終了ステータスには何がセットされるでしょうか。答えは「0」です。$ false; echo $? 1 $ if false; then :; elif false; then :; fi $ echo $? 0 $ while false; do :; ...
外部ファイルからのコマンド実行 source 何もしないNOP 判断式 test 演算子 (小技)文字列判定時のダミー文字列 case 関数 関数とローカル変数 return (小技)eval を使って関数の返値を変数に代入 プログラムパターン ファイル入出力 パイプ 出力のリダイレクト /dev/null (小技...
一般的にコマンド呼び出しにデフォルトで引数を付けたい場合は以下の方法のどちらかを使います。 # alias date='date -u' # こちらでもよいdate(){command date-u"$@";}date# date -u が実行される aliasの方がシンプルですが、関数定義の場合は引数を動的に生成(下記参照)したりと柔軟な...