
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
PIPESTATUSさようなら - Qiita
Bash使いたくないけどPIPESTATUSどうしよう…… そんなアナタに耳よりな話。POSIXの範囲、つまりどのUNIX... Bash使いたくないけどPIPESTATUSどうしよう…… そんなアナタに耳よりな話。POSIXの範囲、つまりどのUNIXシェルでも同等のことができるというお話です。 元ネタはコチラですが、ここで例示されているコードでは、繋ぎたいコマンドが増えるとやがて動かなくなるので修正版を公開します。 1)次のシェル関数を定義 まずは、PIPESTATUSのように、全ての戻り値を集めたいコマンドパイプ列を書こうとしているシェルスクリプトの冒頭に次のシェル関数を追記します。 run() { local a j k l com # ←ここはPOSIX範囲外なんだけど…… j=1 while eval "\${pipestatus_$j+:} false"; do unset pipestatus_$j j=$(($j+1)) done j=1 com= k=1 l= for a; do if [ "x$a