我正在使用Sun Solaris中的ksh。我有一个文件,每行只有一个单词作为工作名称。想要从文件中读取所有作业并在给定的orde中逐个执行它们。怎么做在ksh。如果在命令提示符下触发,下面的代码工作正常。当我尝试通过shell脚本运行它时会出错。
i=0;nawk '{print $1}' input.txt | while read -r r;
do
a[i]="$r";
echo "${a[++i]}";
done
ERROR:
i=0
+ read -r r
+ nawk {print $1} input.txt
test2.ksh: -r: is not an identifier
答案 0 :(得分:0)
消息来自Bourne shell,因此可能会以某种方式以正确的方式调用脚本。您需要在脚本中插入一个shebang作为第一行:
#!/bin/ksh
并使其可执行并执行它:
chmod +x /path/to/script
/path/to/script
或者您需要像这样调用脚本:
ksh /path/to/script