and*_*sg3 1 linux bash shell awk if-statement
请帮忙.这样做我收到错误.我怎么修理
if [ awk 'BEGIN{print 0.4*10}' > 1 -eq 1 ]; then echo YES; fi
Run Code Online (Sandbox Code Playgroud)
shell语法起初很难内化.花点时间意识到if
命令并不需要任何特殊的语法:它根据命令的退出状态做出决定.通常你会看到方括号,但它们实际上只是test
命令的别名(或多或少).
如果你想处理awk的退出状态:
if awk 'BEGIN {n = 0.4 * 10; exit (!(n>1))}'; then echo yes; fi
Run Code Online (Sandbox Code Playgroud)
如果你只是想做一些数学:
result=$(bc <<< "(0.4 * 10) > 1")
if [[ $result = "1" ]]; then echo "YES"; fi
# or, in one step
if [[ $(bc <<< "(0.4 * 10) > 1") = "1" ]]; then echo "YES"; fi
Run Code Online (Sandbox Code Playgroud)
在bash提示符下键入 help if