for循环中的bash命令行替换
我有一个测试脚本test.sh,我试图将命令行参数打印到脚本中,但以下操作无法按预期工作for循环中的bash命令行替换,bash,loops,command-line,Bash,Loops,Command Line,我有一个测试脚本test.sh,我试图将命令行参数打印到脚本中,但以下操作无法按预期工作 `#!/bin/bash for((i=1;i<"$#";i++)) do printf "Position %s of argumentArray has %s \n", $i $(($i)) done` 而不是 Position 1 of argumentArray has first Position 1 of argumentArray has second
`#!/bin/bash
for((i=1;i<"$#";i++)) do
printf "Position %s of argumentArray has %s \n", $i $(($i))
done`
而不是
Position 1 of argumentArray has first
Position 1 of argumentArray has second
Position 1 of argumentArray has third
我也面临同样的问题
for((i=1;i<="$#";i++))
do
case "$($i)" in
.......
for((i=1;i可以直接访问命令行参数,但如果您希望按位置访问它们,可以执行以下操作:
arguments=($@)
for ((i = 0; i < ${#arguments[@]}; i++)); do
echo "arguments[$i] = ${arguments[$i]}"
done
附录
有关Bash阵列的信息:
可以直接访问命令行参数,但如果您希望按位置访问命令行参数,可以执行以下操作:
arguments=($@)
for ((i = 0; i < ${#arguments[@]}; i++)); do
echo "arguments[$i] = ${arguments[$i]}"
done
附录
有关Bash阵列的信息:
您可以很容易地使用:
for((i=1;i<=$#;i++)) do
printf "Position %s of argumentArray has %s \n" $i "${!i}"
done
for((i=1;i您可以非常轻松地使用:
for((i=1;i<=$#;i++)) do
printf "Position %s of argumentArray has %s \n" $i "${!i}"
done
for((i=1;我认为它有效。我完全忘记了Aray,我继续做。`for((i=1;我认为它有效。我完全忘记了Aray,我继续做。`for((i=1;我)
for((i=1;i<=$#;i++)) do
printf "Position %s of argumentArray has %s \n" $i "${!i}"
done