Re: Re: 問題ID: 21870

この質問の投稿一覧へ

なし Re: Re: 問題ID: 21870

msg# 1.1.1.1.1
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2018-12-6 11:06
arashi1977  長老 居住地: 広島  投稿数: 1715
あ、待てよ?こういうことか?
引用:
条件文1 と 条件文2 が 成立する場合(=)
then が OK になるという事じゃないのでしょうか?
もしかしてifの判定対象になる「条件文」の範囲を誤解されてる?ifで判定されるのは「条件文1 "演算子" 条件文2」までがひとかたまりですが、そこは大丈夫ですかね?

引用:
仮に条件文がイコールだとして 二つの条件を「1」「1’」とした場合、
1 と 1’ がイコールだと
then OK が出るという事じゃないんでしょうか

1 ≠ 1’ then NG 
条件文が同じなのにノットイコールだと NG

1 ≠ 2  thne OK 
条件文同じでないものをノットイコールとするとそれは真ではないのでしょうか
上記の例示をあえてそのまま使うとそれぞれの演算子を使うと以下のように評価されます。
=(両辺の文字列が同じ場合に「真」を返す)演算子を使う場合
1 = 1 → 「1」と「1」は同じ文字列なので真
1 = 1' → 「1」と「1'」は同じ文字列ではないので偽
1 = 2 → 「1」と「2」は同じ文字ではないので偽

!=(両辺の文字列が異なる場合に「真」を返す)演算子を使う場合
1 != 1 → 「1」と「1」は異なる文字列ではないので偽
1 != 1' → 「1」と「1'」は異なる文字列なので真
1 != 2 → 「1」と「2」は異なる文字なので真
次に条件評価の結果「if〜then〜else」によって処理が分岐します。これは
if 【評価式】
then
  評価結果が「真」の場合の処理
else
  評価結果が「偽」の場合の処理
fi
のように実行されます。

上記を踏まえて
引用:
仮に条件文がイコールだとして 二つの条件を「1」「1’」とした場合、
1 と 1’ がイコールだと
then OK が出るという事じゃないんでしょうか
「条件文がイコール」というのがはっきりしないのですが
→=(イコール)演算子を使用するという意味であれば、21870の正答と異なるので話の前提条件が正しくない
→「1」と「1'」が同じ文字列(イコール)だという意味であれば、21870の正答となる!=(ノットイコール)演算子での評価結果は「偽」となるので、設問のシェルスクリプトではelse以降の処理によって「OK」が表示される
ということでどうですかね?

これで合ってるといいな…

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.