2017-02-28 5 views
1

bashコマンドのXOR^anothercommand以下の例では

w^ls 

シェルでXOR演算子の期待される動作は何ですか?だから、

我々は(それがすべてで実行される場合)を実行するanothercommandをトリガーするもの

command^anothercommand 

を入力してください?

+1

もし*が '&&'や '||'のような演算子であったならば、XORの値は両方のオペランドで決まるので、両方のコマンドを必ず実行するでしょう(短絡しません)。 1つのコマンドが失敗し、もう1つが成功した場合、終了ステータスは0になります。そうでない場合は1になります。それが役に立つシナリオを描くことはできません。 – chepner

答えて

2

が、あなたは、単に二つの引数、^anothercommandcommandを提供しているためだ

$ echo $((5^9)) 
12 

。ここに演算子はありません。 anothercommandは、commandがその引数をコマンド名として扱い、実行しようとした場合にのみ実行されます。

+0

あなたは^を引数として受け入れるコマンドの例を提供できますか? –

1

man bashに示すように、^は、コマンドを区切るために使用されていませんが、算術式の中で使用されています。あなたはcommand^anothercommand入力した場合

dec  bin 
5  0101 
9  1001 
----------- 
12  1100 
+0

私は正直なところ、OPの意図に基づいて、コマンドの終了コード(各コマンドの戻り値のXOR)に基づいて動作すると思っていました。 – Inian

+0

でも、コマンドで使用するとbashはそれについて不平を言わないのですか? –

+0

それは私のためです: '$ id^ls id:余分なオペランド 'ls' 詳細については、 'id --help'を試してください。 ' – choroba

関連する問題