シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
探検
シェルスクリプト総合 その29
レス数が1000を超えています。これ以上書き込みはできません。
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
985デフォルトの名無しさん
2019/07/02(火) 04:37:28.40ID:uO4UDEG+ いやあ、ああいうのが普通な人には何も言い返せないよ。てか「言い返す」って。喧嘩かなんかなのか?w
986デフォルトの名無しさん
2019/07/02(火) 04:41:11.93ID:Atdu9zIi 喧嘩じゃなくて、お前の意見を言えって。
正しく動くだろ?
なにか問題が有るのか?
正しく動くだろ?
なにか問題が有るのか?
987デフォルトの名無しさん
2019/07/02(火) 04:45:47.25ID:Atdu9zIi シェルスクリプト初心者です。 { } の使い方がわかりません
とかいうなら、関数にでもすればいい
foo() {
なにか前処理
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
}
cat | foo
お前の苦手な { } が無くてすんだぞw
サブシェルうんぬんの前に、関数の中で使う変数は、関数の中にとどめておけよ。
わかりやすいコーディングというのはこういうものだ
とかいうなら、関数にでもすればいい
foo() {
なにか前処理
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
}
cat | foo
お前の苦手な { } が無くてすんだぞw
サブシェルうんぬんの前に、関数の中で使う変数は、関数の中にとどめておけよ。
わかりやすいコーディングというのはこういうものだ
988デフォルトの名無しさん
2019/07/02(火) 04:47:32.87ID:uO4UDEG+ そのサブシェルの中で後は全部やるんでしょ?必要な部分を。それで問題無いと思うなら、それでいいんじゃないの
「なんか無理してんな」ってのがわからないんだったらそれはそれでいいよ。元ネタと同じく、好みの問題。好みがわからないでしょ
「なんか無理してんな」ってのがわからないんだったらそれはそれでいいよ。元ネタと同じく、好みの問題。好みがわからないでしょ
989デフォルトの名無しさん
2019/07/02(火) 04:50:12.51ID:Atdu9zIi だから問題ないし、お前を含めて誰も問題があると言ってない。
お前さ、なんで自分で問題点を指摘できないのに
さも問題があるかのように装ってるわけ?
ばれないとでも思った?
お前さ、なんで自分で問題点を指摘できないのに
さも問題があるかのように装ってるわけ?
ばれないとでも思った?
990デフォルトの名無しさん
2019/07/02(火) 04:50:38.17ID:uO4UDEG+ なにか頑張ってるな。そんな話じゃないよ
知識自慢臭しかもうしませんよ?そんなの自慢げというか馬鹿にしたいだけなのか知らんけど
知識自慢臭しかもうしませんよ?そんなの自慢げというか馬鹿にしたいだけなのか知らんけど
991デフォルトの名無しさん
2019/07/02(火) 04:53:12.30ID:Atdu9zIi そんな話じゃないよ → じゃあどんな話なのか → 答えずに逃げる(笑)
992デフォルトの名無しさん
2019/07/02(火) 04:53:48.95ID:uO4UDEG+ 問題がある問題がないの話じゃないよ。好みだよ好み
そう次々あれこれ考えなくてもw bash(など)の拡張使えばスッキリだろうにという
そう次々あれこれ考えなくてもw bash(など)の拡張使えばスッキリだろうにという
993デフォルトの名無しさん
2019/07/02(火) 04:54:45.55ID:Atdu9zIi >>987のどこがスッキリとしてないというのか?
お前ならbashでどう書き直す?w
お前ならbashでどう書き直す?w
994デフォルトの名無しさん
2019/07/02(火) 04:57:00.91ID:uO4UDEG+ hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done < <(cat)
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
そもそもやりたいことがレベルが変わらずにそのままでスッキリだなwあとあとでなにか追加もとかもね
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done < <(cat)
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
そもそもやりたいことがレベルが変わらずにそのままでスッキリだなwあとあとでなにか追加もとかもね
995デフォルトの名無しさん
2019/07/02(火) 04:58:47.96ID:Atdu9zIi >>994
それ、俺が書いたfoo関数の中身を書いただけじゃねーかw
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
これで動くよ。
foo() {
上のコード
}
cat | foo
ってやればいいだけ
それ、俺が書いたfoo関数の中身を書いただけじゃねーかw
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
これで動くよ。
foo() {
上のコード
}
cat | foo
ってやればいいだけ
996デフォルトの名無しさん
2019/07/02(火) 05:01:09.48ID:Atdu9zIi Q.これをPOSIX準拠で書きたいのですが?
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done < <(cat)
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
A. まず1. 関数にしましょう
foo() {
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done < <(cat)
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
}
foo
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done < <(cat)
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
A. まず1. 関数にしましょう
foo() {
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done < <(cat)
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
}
foo
997デフォルトの名無しさん
2019/07/02(火) 05:01:36.77ID:uO4UDEG+ いや、だから、お題に対してだけじゃなくな。普遍的にって言ってるでしょ
それが普遍的なのか?
なんで否定されたのをそんなに拘るねん。否定してんのは俺の好みじゃないってだけだぞ?w
それが普遍的なのか?
なんで否定されたのをそんなに拘るねん。否定してんのは俺の好みじゃないってだけだぞ?w
998デフォルトの名無しさん
2019/07/02(火) 05:01:53.99ID:Atdu9zIi 2. bash依存の命令をなくしましょう。
foo() {
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
}
cat | foo
はい。完成です(笑)
foo() {
hoge=0
while IFS= read -r line; do
[ なにか ] && hoge=1
ほかにいろいろ
done
if [ hoge = 0 ]; then
前処理の調整
else
前処理の調整
fi
}
cat | foo
はい。完成です(笑)
999デフォルトの名無しさん
2019/07/02(火) 05:02:22.44ID:Atdu9zIi >>997
だから < <(cat) を使う場合の普遍的な解答
だから < <(cat) を使う場合の普遍的な解答
1000デフォルトの名無しさん
2019/07/02(火) 05:02:50.90ID:Atdu9zIi やっぱり書き方を知らんだけだったな(笑)
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 283日 5時間 28分 4秒
新しいスレッドを立ててください。
life time: 283日 5時間 28分 4秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★2 [♪♪♪★]
- 【トレンド】高市首相「マウント取れる服」投稿にツッコミ続出「他国に対する敬意がない」「外交相手に失礼」 [1ゲットロボ★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★8 [♪♪♪★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… ★2 [尺アジ★]
- 【芸能】aiko「50歳になりました!」 祝福&驚きの声続々「20代にしか見えない」「何で年取らないの」 [冬月記者★]
- 高市早苗、ガチのマジで量産型エヴァになる [165981677]
- 🏡😡
- 【悲報】フィギュアスケート人気、めちゃくちゃ落ちる💥💥wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [573041775]
- 【画像】イーロン「ちょっとトランプと話す前にタバコ吸っていかね?」⇨結果... [685321817]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ161
- おまえたちアナルはいつでもキレイにしておきなさい
