为什么我的Bash while-loop坏了?

时间:2014-11-20 01:51:48

标签: bash while-loop

我的脚本出现问题。我试图读取一个变量(就像我在C中一样)然后在计数器中使用它来进行循环。这是我的代码:

#!/bin/bash

echo " How many times?"
read $Read
while [ $Read >1 ];
do 
echo "This is my first script"
Read=$(($Read-1))
done

根据我的逻辑,这个程序应该在 Read 中打印次数,因为我正在减少变量计数器。这不会发生。你能告诉我如何解决它吗?

2 个答案:

答案 0 :(得分:0)

#!/usr/bin/env bash

read -p 'How many times? ' times
while [[ $times -ge 1 ]]; do
    echo "This is my first script."
    let times-=1
done

答案 1 :(得分:0)

read获取变量的名称,不带美元符号。

read Read

使用美元符号在技术上不是错误;它可能不是你的意思。该参数将被扩展,其值将用作read设置的变量的名称。例如:

$ foo=bar
$ read $foo <<< 5
$ echo $bar
5