如果不满足所需的参数计数,我希望我的Bash脚本能够打印错误消息.
我尝试了以下代码:
#!/bin/bash
echo Script name: $0
echo $# arguments
if [$# -ne 1];
then echo "illegal number of parameters"
fi
Run Code Online (Sandbox Code Playgroud)
由于某些未知原因,我遇到以下错误:
test: line 4: [2: command not found
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我开始学习为bash终端编写脚本,但我无法弄清楚如何让比较正常工作.我正在使用的脚本是:
echo "enter two numbers";
read a b;
echo "a=$a";
echo "b=$b";
if [ $a \> $b ];
then
echo "a is greater than b";
else
echo "b is greater than a";
fi;
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是它比较了第一个数字的数字,即9大于10000,但1大于09
如何将数字转换为类型以进行真正的比较?
我跑的时候
if [[ 10 < 2 ]];
then echo "yes";
else echo "no";
fi
Run Code Online (Sandbox Code Playgroud)
在shell中,它返回yes.为什么?应该是no吗?而当我跑
if [[ 20 < 2 ]];
then echo "yes";
else echo "no";
fi
Run Code Online (Sandbox Code Playgroud)
它返回no.