UNIX에서 명령문을 다른 스크립트로 인쇄하는 데 사용되는 echo 문의 for 루프를 사용하는 방법

UNIX에서 명령문을 다른 스크립트로 인쇄하는 데 사용되는 echo 문의 for 루프를 사용하는 방법

내 쉘 스크립트에는 명령문을 다른 쉘 스크립트로 인쇄하는 함수가 포함되어 있습니다.

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
    
    }
    

관련 정보