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

时间:2015-04-04 23:17:04

标签: 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

如果有人能够了解错误的原因,那就太棒了。

编辑:忘记添加第二个条件以添加到COUNT变量,现在我收到错误:

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

1 个答案:

答案 0 :(得分:1)

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

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

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