我有一个这样的脚本:
for i in *.TF;
do
my command $i
done
问题是,每个命令行都需要相同的输入(在本例中/PS
:)我该怎么做?我测试过一些方法,例如:
/PS | ./mybash.csh
它仅在第一次迭代中有效。以防万一, /PS 是一些文本(输入),我想将其作为命令的每次迭代的输入。
答案1
也解决这个问题“每个命令行需要相同的输入”,如果涉及更多或不同的命令,并且应该从同一源提供,您可以使用yes
:
yes "/PS" | my_script
答案2
只需在文件调用中写入下面的行run.sh
for i in *.TF
do
my command "$i" < /PS
done
然后运行
bash run.sh
在哪里
bash
可以替换为ksh
- 以防万一某些文件有空格,您应该将 $i 括在引号中,例如
"$i"
my command
代表更完整的命令行(或者你my
的 中有一个程序$PATH
)- 顺便说一下,这个语法不是 csh 语法。