はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")
はじめに コマンドの出力をパイプ + while read ループで処理した時にループの中の変数がループの外で使えない(変数の中身が空になっている)という問題の解決方法の紹介です。これも何番煎じかのネタだと思いますが、良くない解決方法が目につき、あまり紹介されてないテクニックもあるので、それらの情報をすべてまとめ、何がどういう理由で駄目なのか?良い方法とはなにか?を解説するのがこの記事の趣旨です。推奨 5 パターン(+非推奨 3 パターン)の解決方法を解説しています。 パイプ・サブシェル問題とは? 以下のような問題です。 #!/bin/sh total=0 seq 10 | while IFS= read -r line; do echo "$line" total=$((total + line)) done echo "$total" # 1 + 2 + ... + 10 = 55 と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く