在bash脚本中输入

在bash脚本中输入

我有一个这样的脚本:

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 语法。

相关内容