エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Shellスクリプトのループで設定した変数が“外側”で参照できない?|ITプロフェッショナル部(システム開発のアイロベックス|東京都新宿区の業務システム開発会社)
Shellスクリプトは未定義の変数に対してもエラーを出さない処理系なので、この動作がバグ化するとすごく... Shellスクリプトは未定義の変数に対してもエラーを出さない処理系なので、この動作がバグ化するとすごく気付きにくい。 実は Shellスクリプトの | (パイプ)処理から先のコマンド(群)はパイプ元とは別プロセスで起動していて、 上記の記述方法では変数を操作するループ内部と外側(初期化の部分と表示の部分)では 全く別の変数を参照していることになってしまうらしいのだ。 # ただ、必ずしもすべての /bin/sh がそういう実装というわけでもないらしく、昔はこうではなかったらしい。 # パフォーマンスを上げるために、別プロセスを起動して直接やり取りをするように途中から shの実態の処理が変わったんじゃなかろうか。 回避策は | (パイプ)ではなく、リダイレクトからファイルを読むようにするのだそうだ。
2015/11/11 リンク