我有这个练习:
编写一个脚本,该脚本使用 if-then-else-fi 并接受参数 -a 和 -b 的序列,其值为“true”和“false”,同时为每一对写入表达式的否定 -a <=> -b,
例子:
-a -b writes
true true false
true false true
false true true
false false false
例如:
./script -a false -b false -a true -b true
写道:
true
false
我的问题是如何让脚本接受参数?
我只是在与输入作斗争。其他一切都应该没问题。
答案1
if [ $( $2 or 0 ) xor $( $4 or 0 ) ]; then echo true; else echo false; fi
解释:
基于作为 XOR 运算的逻辑表,因此使用$2
and $4
(第二个和第四个参数包含我们执行此操作所需的数据),当然,这并没有考虑到有人切换-a
and 的情况-b
。