使用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建议的数组是正确的答案。