【发布时间】:2018-12-13 09:12:41
【问题描述】:
我对 shell 脚本很陌生。 我的代码应该很简单,很有教程,但我不能让它工作:
case='Naca0012_pitch_V1'
for i in {0..800..10}
do
tec $case.$i.plt;
cat tec.00* > $case.$i.dat;
done
命令tec 生成一些我需要连接的文件。
我得到的是:
Error opening file Naca0012_pitch_V1.{0..800..10}.plt
来自tec 实用程序。
似乎代码放置了“{0..800..10}”,而不是用大括号扩展中的一种可能情况替换变量。
【问题讨论】:
-
in 子句后的代码无效。
-
@Simonare 对不起,你是什么意思?我该如何解决?
-
你的脚本的shebang是什么,你使用的是哪个shell?您提到了 bash,但这是完全有效的 bash。
-
如果您使用的是 4.0+ 版本,这是完美的 bash 请使用
echo $BASH_VERSION验证您的 bash 版本 -
在终端中,执行 ls -l /bin/sh。也许你的外壳是 /bin/dash ??