我想在shell中反转一个数字。我的数字值只有2个可能的值:1和0.如果我的数字是1,我想反向0,如果它是0,我想将它反转为1
做什么可以更快的操作?
1)Operation1:使用if语句
if [ x -eq 1 ]; then
x=0
else
x=1
fi
2)Operation2:使用按位运算(xor)
let x^=1
答案 0 :(得分:2)
如果您使用shell进行编程,那么速度肯定不是您最关心的问题吗?尤其不是像这样的微观优化。
在任何情况下,速度都将在很大程度上取决于您选择使用的shell以及该shell的特定版本。标签建议使用bash,但实际上并没有说。
我能给出的唯一建议是测试并看到;给自己写一个基准,这样做一百万次,然后找出最快的运行。
然后,当你在bash中测试完所有内容时,请尝试破折号。据说它可能更快,如果功能更少,也可能更少。