我正在尝试在bash脚本中“一一打印”所有参数。
我想运行的示例:
./myscript您好所有朋友
并查看以下结果:
hello
all
friends.
我写了下面的代码:
#!/bin/bash
li=$@
for(( j=0;j<$#;j++));
do
echo ${li[$j]}
done
当我运行代码时,它会立即打印所有参数的错误:
hello all friends
我知道我可以通过将for结构更改为以下格式来做到这一点:
#!/bin/bash
li=$@
for j in $li;
do
echo $j
done
但是我不想更改上面的代码。
请帮帮我。
先感谢您。
答案 0 :(得分:2)
答案 1 :(得分:1)
尝试一下:
#!/bin/bash
li=$@
for(( j=0;j<$#;j++)); do
printf '%s\n' ${li[$j]}
done
在这里您可以找到有关格式化的一些信息: https://wiki.bash-hackers.org/commands/builtin/printf