我尝试使用以下语法:
#!/bin/bash
for I in {1..5)
do
echo $I
done
但输出不是列出从 1 到 5 的数字,而是 {1..5},请帮帮我
答案1
改变
#!/bin/bash
for I in {1..5) do echo $I done
到
#!/bin/bash
for I in {1..5}; do echo $I; done
或者
#!/bin/bash
for I in {1..5}
do
echo $I
done
将以上任一内容放在新文件中,赋予其执行权限并使用命令输出执行它$ bash *filename*
:
1
2
3
4
5
我不确定为什么它会{1..5}
为您打印,因为您发布的代码给了我一个语法错误,但修复拼写错误并添加分号使它在我的安装上正确执行。
我能够使其输出的唯一方法{1..5}
是修改代码以将参数封装在引号中,以便将其解释为字符串,如下所示:
#!/bin/bash
for I in "{1..5}"
do
echo $I
done
如果您可以提供文件的确切内容,我可以尝试进一步帮助您。
或者,如果您通过执行,那么sh *filename*
您本质上就是在执行dash *filename*
,我不认为这支持该符号。