[過去ログ] シェルスクリプト総合 その28 (620レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
100(1): 名無しさん@お腹いっぱい。 [sage] 2018/11/29(木) 21:56:13.42 AAS
なんか混乱しとるなw
まあ、ダブルクォートは、他言語を使っている人からすれば
直感に反する機能だってことに、俺も最近気づいたんだけどな
ただどこがどう違うかを言葉で説明したことがわけじゃない。やってるみるか?
・シェルスクリプトは文字列として展開されて実行されているようでそうではない
・ダブルクォートは文字列を囲う機能ではなく、変数展開の挙動を変えるエスケープの一種
この二つに集約されるかなぁ
> しかし、ETAGはダブルクオートを含むし
これ関係ないんだわ
OPT=('--header' "If-None-Match: ${ETAG}")
だと
OPT=('--header' "If-None-Match: "686897696a7c876b7e"")
こうなってしまい
OPT=('--header' "If-None-Match: " 686897696a7c876b7e "")
のように解釈されると思ってしまうが違う。
別に文字列展開されてから、動くわけじゃない
ダブルクォートは「 If-None-Match: ${ETAG} 」の部分を一つの引数として
扱いますよー(ただし中の変数は展開されますよ)という意味。
変数の中にダブルクォートが入っていようが改行が入っていようが関係ない
またダブルクォートはそれだけの機能ではなく $@ が入っている場合に異なる挙動をする
"$@" が入っている場合、一つの引数ではなく複数の引数として扱われる
例えば引数$1〜$5が存在する場合、"$@" は "$1" "$2" "$3" "$4" "$5" と等価
また"foo$@bar" となっていた場合、 "foo$1" "$2" "$3" "$4" "$5bar" と等価
引数が一つなら "foo$1bar" だし、引数がゼロの場合は、書かなかったのと同じとなる("" 空文字にはならない)
このように文字列として囲う機能じゃなくて、中に入ってる文字や変数の解釈の仕方に影響を与える機能
190(1): 名無しさん@お腹いっぱい。 [sage] 2020/03/14(土) 18:34:21.42 AAS
>>189189(1): 名無しさん@お腹いっぱい。 [sage] 2020/03/14(土) 18:20:44.65 AAS
>>185
引数で単語と数字nを受け取ってn文字目の単語を返す関数を書けばいいだけ
日本語ではなくてbashでお願いします!!
235: 名無しさん@お腹いっぱい。 [sage] 2020/04/14(火) 08:18:35.42 AAS
>>231231(2): 名無しさん@お腹いっぱい。 [sage] 2020/04/14(火) 07:52:02.07 AAS
>>228
さんくすとお礼を言った上に、条件をつけ忘れてたから
補足しただけでしょ
たったそれだけで、はぁ?理解できない。謎だわ。なんでそんな事するの?バカなの?
みたいに言うのはなんで?
何で逆切れするの?
仕事は自分でしましょう
616: 名無しさん@お腹いっぱい。 [] 2024/02/20(火) 17:32:39.42 AAS
>>615615(1): 名無しさん@お腹いっぱい。 [sage] 2024/02/20(火) 14:15:04.07 AAS
2度目のエルスを書かなければいいだけじゃなくて?
「処理2」は2度処理される必要があるのかもしれん。例えば、ステータスを1 upするような。
出題者はおそらくelse節を冗長処理として、1度きりの処理の意味で「1箇所にする」と要件を定義したのだろう。
が、現実にこんなアバウト野郎のかもす空気を読んでウカウカとelse節を削ると、分かりにくいバグになったりする。
なので、問題を正確に記述しろ糞ボケと回答すべきだと思う。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s