Entrada no script bash

0

Eu tenho um script como este:

for i in *.TF; 
do
my command $i 
done

O problema é que cada linha de comando precisa de uma mesma entrada (neste caso: /PS ) como posso fazer isso? Eu testei alguns métodos como:

/PS | ./mybash.csh

Funciona apenas na primeira iteração. Apenas no caso, / PS é algum texto (entrada) e eu quero alimentá-lo como entrada para cada iteração do meu comando.

    
por issa 22.03.2015 / 09:16

2 respostas

1

Para abordar também a questão "cada linha de comando precisa de uma mesma entrada" , caso mais ou diferentes comandos estejam envolvidos e sejam alimentados a partir da mesma fonte, você pode usar yes :

yes "/PS" | my_script
    
por 22.03.2015 / 16:24
0

escreva simplesmente a linha abaixo em uma chamada de arquivo run.sh

for i in *.TF 
do
  my command "$i"  < /PS
done

execute

bash run.sh 

onde

  • bash pode substituir por ksh
  • juste No caso de alguns arquivos terem espaço em branco, você deve colocar $ i entre aspas como "$i"
  • my command representa uma linha de comando mais completa (ou você tem um my programm no seu $PATH )
  • essa sintaxe não é uma sintaxe csh, a propósito.
por 22.03.2015 / 10:57