내 쉘 스크립트에는 명령문을 다른 쉘 스크립트로 인쇄하는 함수가 포함되어 있습니다.
function print()
{
echo "
insert() #insert function
for i in $InsertFile1
do
cat $i
done
echo \""Exit--------------------------0"\"
switch($input)
{
case 1 :
......
......
default :
}
" > Script.sh
}
변수 $InsertFile1 = file1.txt, file1.txt의 내용은 다음과 같습니다.
insert() #insert function
echo "1 Start"
echo "2 Stop"
echo "3 Exit"
switch($input)
{
case 1 :
......
......
default :
}
Script.sh에서 예상되는 출력은 $InsertFile1 변수의 내용이어야 하지만 내 출력(예: Script.sh의 내용)은 다음과 같습니다.
insert() #insert function
for i in echo "1 Start"
echo "2 Stop"
echo "3 Exit"
switch($input)
{
case 1 :
......
......
default :
}
Script.sh 파일에서 for 루프 인쇄를 건너뛰는 방법은 무엇입니까? 편집: print 함수에는 Script.sh에 포함되어야 하는 몇 가지 다른 문이 포함되어 있습니다.
답변1
노력하다
function print()
{
for i in $InsertFile1
do
cat $i
done > Script.sh
echo "Exit--------------------------0" >> Script.sh
}
- echo Exit를 사용하여 줄을 건너뛸 수 있습니다.
$Insertfile1에 값이 하나만 있는 경우 스크립트를 더욱 단순화할 수 있습니다.
function print() { cp $Inserfile Script.sh echo "Exit--------------------------0" >> Script.sh }