[過去ログ] シェルスクリプト総合 その28 (620レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
89
(1): 名無しさん@お腹いっぱい。 [] 2018/11/10(土) 19:37:33.60 AAS
>>88
88(2): 名無しさん@お腹いっぱい。 [sage] 2018/11/10(土) 18:00:25.18 AAS
bash(バージョン 4.4.12(1)-release)でスクリプト書いててちょっと謎が

$ a=1; b=2; [[ ${a}<=${b} ]]; echo $?
こうするとちゃんと終了コードの0が返ってきますが

$ a=1; b=2; [[ ${a} <= ${b} ]]; echo $?
比較演算子の前後にスペースを入れると「条件式に構文エラーがあります」「`${b}' 周辺に構文エラーがあります」と怒られます

$ a=1; b=2; [[ ${a} < ${b} ]]; echo $?
比較演算子をleでなくltにするとまた0が返ります

これって何故なんでしょう?
[[ ... ]] で使える演算子に <= は存在しない

それは数の比較ではなく
[[ "1" < "=2" ]]
という文字列の比較になっている

なので <= の右に空白を置くと
[[ "1" < "=" "2" ]]
となりエラー

条件式
外部リンク[html]:linuxjm.osdn.jp
90: 88 [sage] 2018/11/10(土) 21:37:24.33 AAS
>>89
さっそくありがとうございます
そうか、イコールをつけない不等号で上手く動いてるように見えるのは、文字列として辞書順で比較してるからなんですね
どうやら私の頭の中では、二重丸括弧での算術式展開とゴッチャになってたみたいです
何時間も唸ってたのが一撃でスッキリしました。ありがとうございました
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.032s