Bash脚本意外的文件结尾-新编码器



我是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

如果有人能澄清这个错误是怎么回事,那就太好了。

edit:忘记添加第二个要添加到COUNT变量的条件,现在我得到一个错误:

line 9: syntax error near unexpected token `{'
line 9: `while ($COUNT < $STR){'

基本上,您将Bash的语法与其他语言混淆。

在Bash中,if的语法(如果不使用else)是if condition;then commands;fi。您的代码没有thenfi。此外,条件应该是(( $NUMBER > 0 ))

while的语法是while condition;do commands;done,您的代码也是错误的。

最新更新