Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用bash在for循环中创建基于变量的非计数器_Bash_Variables_For Loop_Counter - Fatal编程技术网

使用bash在for循环中创建基于变量的非计数器

使用bash在for循环中创建基于变量的非计数器,bash,variables,for-loop,counter,Bash,Variables,For Loop,Counter,因此,我试图让我的脚本询问执行一个命令需要多少次,一次获取所有输入,然后运行它。所以它应该做的任务就是接收一堆文件路径 echo "How many SVN repositories do you need to convert and commit?" read repo_numb echo for ((i=1; i<=$repo_numb; i++)); do echo "What is the full path to SVN r

因此,我试图让我的脚本询问执行一个命令需要多少次,一次获取所有输入,然后运行它。所以它应该做的任务就是接收一堆文件路径

    echo "How many SVN repositories do you need to convert and commit?"
    read repo_numb
    echo

    for ((i=1; i<=$repo_numb; i++));
    do
      echo "What is the full path to SVN repository $i?"
      read svn_repo_$i
      echo $svn_repo_$i
    done
echo“您需要转换和提交多少SVN存储库?”
阅读报告
回声

对于((i=1;i),您可以使用BASH变量间接,但使用BASH数组会更容易。请考虑这个脚本:

read -p "How many SVN repositories do you need to convert and commit?" repo_numb
echo

svn_repos=()
for ((i=1; i<=repo_numb; i++));
do
  read -p "What is the full path to SVN repository $i?" _tmp
  svn_repos+=( $_tmp )
done

echo "svn_repos=${svn_repos[@]}"
read-p“您需要转换和提交多少SVN存储库?”repo\u numb
回声
svn_回购=()

对于((i=1;iNote,当
i
为5时,您的
read
确实设置了
svn_repo_5
(参数在调用
read
之前进行参数扩展)。要访问它,您需要
name=“$svn_repo_$i”echo${!name}
。不过,anubhava建议的数组是正确的答案。