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 구문이 아닙니다.

관련 정보