A. *_*lar 1 bash shell terminal
我目前的脚本执行以下操作:
它将整数作为命令行参数,从1到N开始,它检查数字是否可以被三个,五个或两个整除.它简单地打印X为三,Y为五,XY为三,五.如果命令行参数为空.
我有这个错误"第11,15和19行太多的论点".
这是代码:
#!/bin/bash
if [ (statement) ]; then
for ...
do
if [ statement ]; then
echo "s1"
elif [ statement2 ]; then
echo "s2"
elif [ statement3 ]
then
echo "s3"
else
echo "$i"
fi
done
elif [ statement ]
then
for ...
do
if [ statement ]
then
echo ""
elif [ statement2 ]
then
echo ""
elif [ statement3 ]
then
echo ""
else
echo "$i"
fi
done
else
echo ""
fi
Run Code Online (Sandbox Code Playgroud)
请注意,[它实际上是testshell中内置函数的同义词(which [在终端中尝试),而不是像其他语言一样的条件语法,因此您不能这样做:
if [ [$i % 3] -eq 0 ]; then
Run Code Online (Sandbox Code Playgroud)
此外,始终确保有之间至少有一个空格[,]以及包含在它们之间的逻辑条件检查的变量.
评估表达式(如modulo)的语法是enclosure by $((...)),并且里面的变量名称不需要加前缀$:
remainder=$((i % 3))
if [ $remainder -eq 0 ]; then
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10091 次 |
| 最近记录: |