Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.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 参数列表没有被迭代_Bash_Shell_Loops - Fatal编程技术网

Bash 参数列表没有被迭代

Bash 参数列表没有被迭代,bash,shell,loops,Bash,Shell,Loops,我正在尝试遍历一个链接列表 #!/bin/bash function cloneAll { echo $(pwd) for i in "${@}" do echo "works" echo "$i" done } cloneAll 我称之为/clone\u list link1 link2 我实际上想在这些链接上进行git克隆,但它甚至没有进入for循环,所以我想我可以先让循环中的echo工作 它没有给出任何错误。循

我正在尝试遍历一个链接列表

#!/bin/bash

 function cloneAll {
   echo $(pwd)
   for i in "${@}"
   do
           echo "works"
           echo "$i"
   done
 }

 cloneAll
我称之为
/clone\u list link1 link2

我实际上想在这些链接上进行git克隆,但它甚至没有进入for循环,所以我想我可以先让循环中的echo工作

它没有给出任何错误。循环外的
echo$(pwd)
工作。所以我知道脚本会执行

我错过了什么

编辑:

我不知道这是否有区别,但我也尝试过


对于“$@”中的i

在末尾添加一个额外的${@}对我的系统有效

#!/bin/bash

 function cloneAll {
   echo $(pwd)
   for i in "${@}"
   do
           echo "works"
           echo "$i"
   done
 }

 cloneAll "${@}"

在末尾添加一个额外的${@}在我的系统上起作用

#!/bin/bash

 function cloneAll {
   echo $(pwd)
   for i in "${@}"
   do
           echo "works"
           echo "$i"
   done
 }

 cloneAll "${@}"

您没有将参数传递给cloneAll-您需要
cloneAll“$@”
。您没有将参数传递给cloneAll-您需要
cloneAll“$@”
。引用
${}
引用
${}