我是bash的新手,我只是想在空闲时间接听。我正在编写一个简单的脚本,打印出我提供的文件名,文件名中有字符,然后根据第二个参数显示正数或负数。我在此脚本上收到意外的文件错误,我不确定原因。
#!/bin/bash
FILENAME=$1
NUMBER=$2
COUNT=0;
STR=${#FILENAME}
while ($COUNT < $STR){
echo $FILENAME
$COUNT++
}
if ($NUMBER < 0)
echo "Negative"
if ($NUMBER > 0)
echo "Positive"
exit
我正在执行
./script1.sh hello 2
我期待输出
hello
hello
hello
hello
hello
Positive
如果有人能够了解错误的原因,那就太棒了。
编辑:忘记添加第二个条件以添加到COUNT变量,现在我收到错误:
line 9: syntax error near unexpected token `{'
line 9: `while ($COUNT < $STR){'
答案 0 :(得分:1)
基本上你将Bash的语法与其他语言混淆。
在Bash中,if
的语法(如果不使用else
)是if condition;then commands;fi
。您的代码没有then
和fi
。此外,条件应为(( $NUMBER > 0 ))
。
while
的语法是while condition;do commands;done
,您的代码也是错误的。