#!/bin/bash
if [$# -ne 1];
then
echo "/root/script.sh a|b"
else if [$1 ='a'];
then
echo "b"
else if [$1 ='b']; then
echo "a"
else
echo "/root/script.sh a|b"
fi
Run Code Online (Sandbox Code Playgroud)
我在Linux上运行脚本时遇到错误.
bar.sh: line 2: [: S#: integer expression expected
a
Run Code Online (Sandbox Code Playgroud)
你能帮忙删除这个错误吗?
if [$# -ne 1];
Run Code Online (Sandbox Code Playgroud)
[并]要求间距.例:
if [ $# -ne 1 ];
Run Code Online (Sandbox Code Playgroud)
而else if应该是elif
#!/bin/bash
if [ "$#" -ne 1 ];
then
echo "/root/script.sh a|b"
elif [ "$1" ='a' ];
then
echo "b"
elif [ "$1" ='b' ]; then
echo "a"
else
echo "/root/script.sh a|b"
fi
Run Code Online (Sandbox Code Playgroud)
不要忘记引用变量.它不是每次都必要,但建议.
问题:为什么我有-1?
| 归档时间: |
|
| 查看次数: |
10120 次 |
| 最近记录: |