다음과 같은 스크립트가 있습니다.
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 구문이 아닙니다.