2021/02/17 19:06
raimon49
bashスクリプト先頭に入れるおまじないの解説。
2021/02/18 01:25
teramako
-xはデバック時のみかなー。他はだいたい同意。// IFSの例はfor arg in "$@"で回避できるので微妙に感じた
2021/02/18 02:25
ryousanngata
-xは変数が展開されて表示されるのでCIでは注意したほうが良い気が
2021/02/18 02:58
yoshis1210
個人的にはif文でgrepなどのエラー時の処理を書くことも多いから-eより戻り値保存してtrapからのexitに引数として付けることが多いな。あと${PIPESTATUS[@]}
2021/02/18 06:47
topiyama
set -o pipefail なんてあるのか
2021/02/18 08:06
wwolf
set -euxはいつもやってたけど-o pipefailは知らなかった
2021/02/18 08:35
camellow
シェルスクリプト
2021/02/18 08:38
tofu-kun
全然知らんかった
2021/02/18 08:40
sharaku3eyes
2021/02/18 08:42
warp9
ありがとうございます。勉強になります。
2021/02/18 08:48
kamocyc
これはメモ
2021/02/18 08:49
ludwig125
x知らなかったありがたい
2021/02/18 08:54
kkobayashi
-eは場合による(コマンドの失敗を想定してる場合は終わって欲しくない、$?をハンドリング)、あと-xはデバッグ時だけかなあ。IFSは好みで
2021/02/18 08:57
everybodyelse
へー、pipefailは初めて知ったな
2021/02/18 09:13
tettekete37564
-x は、って大体ブコメに書かれてた。-u も環境変数があれば使うみたいなパターンではウザいのであまり使わない。IFS の奴は shellcheck 入れてればクオートしないと意図しない展開される警告出るっしょ
2021/02/18 09:47
hahihahi
$@は常に括れ
2021/02/18 09:48
honeybe
shellcheck便利そう。入れた。
2021/02/18 09:51
T2YAkun
シェルスクリプトを書くときにいつもやるやつを調べた - Please Sleep
2021/02/18 10:13
nanamae
シェルスクリプトは俺はこれをシェルスクリプトで書くのは正しいのかみたいな葛藤がいつもある(結局書く)
2021/02/18 10:17
Jinmen
条件分岐とかエラー処理が増えてきたらPythonに移行したい気持ちがあるけどだいたいシェルスクリプトのままずるずると行ってしまう
2021/02/18 10:22
Magicant
set に -C も付けてリダイレクトの > と >| を区別しろ
2021/02/18 11:10
xlc
-o は知らなかった。パイプでエラーが発生し得る場合(curlなど)はいちいち一次ファイルに書き込んでたので見直すか。
2021/02/18 11:48
hirata_yasuyuki
"$@" のように括れば事故は回避できる。
2021/02/18 11:53
liszworks
シェルスクリプトはまだヒヨッコなのでありがたい
2021/02/18 11:58
tohnishi
ブコメと合わせて勉強になった。-xは、実行時の気分によって指定したりしなかったりしてる。
2021/02/18 12:21
kyamanak
bash
2021/02/18 12:24
tasukuchan
“を”
2021/02/18 12:25
natu3kan
help コマンド名
2021/02/18 12:41
hdkINO33
"set -eu" するのはperlとかのstrictみたいなもん(例えが古いが)なので、制限を緩めたいところで "set +e" なり "set +u" なりするのが適当なのでは( "no strict 〜" と同様
2021/02/18 12:49
saloverses
“とき”
2021/02/18 12:52
anqmb
これは参考になる。もっとも最近シェルスクリプトを書いてないが。
2021/02/18 13:03
a96neko
見てる
2021/02/18 13:05
hagane
-xと-eは悩む。-eつけて、|| trueにするか、こけて欲しいところだけ+eするか……
2021/02/18 13:28
ms2sato
ちょいちょい書く割に知らなかった。学習が足りない。
2021/02/18 14:56
kndkndknd
調べることの多いやつが多い
2021/02/18 15:23
gamil
ノーガードだった
2021/02/18 16:13
hogege
φ(.. )
2021/02/18 16:44
tydk27
-o pipefailは知らなかった。個人的には-Cもよく使う。
2021/02/18 17:23
ys0000
Linux疎いのでこの情報は参考になった。
2021/02/18 18:02
koichi_nakashima
なにも考えずに set -e -o pipefail すると cat 64KB以上.txt | head 等が exit status 141 (SIGPIPE) のエラーで中断するようになるから注意。理解してやってるならもちろん問題ないけど
2021/02/18 18:28
kamezo
内容には関心がないのだが、何度も出てくるので「何度見てもサムネイルとの兼ね合いでシェルクラブを食べる話に誤認する」と記録しておく。
2021/02/18 19:08
MASSI
有用みがある
2021/02/18 20:02
en3
シュクメルリと空目
2021/02/18 20:20
MonMonMon
覚えても覚えても忘れてまた調べるやつ
2021/02/18 21:43
masutaka26
pipefail は CircleCI の run のログで知った。-x 以外は設定されて実行されるよ
2021/02/19 00:48
arx0balest
おシェル芸はやめてくれ。保守で死ぬ。
2021/02/19 02:03
AmaiSaeta
`-x` (or `-v`)は `set` じゃなくて開発中限定で `bash -x scriptfile` みたいに使うな。IFS書き換えは「お前ら確実に$@のクォート忘れるやん」て事かと思うが、それならスクリプト言語使った方がマシか……