Operation.sh라는 스크립트가 있고 스크립트를 실행하면 아래와 같은 출력이 표시되고 사용자 입력을 기다립니다.
1. Start
2. Restart
3. Stop
4. Status
Enter Option:
"1"을 누르면 몇 가지 논리가 수행되고 위의 보기에 다시 나타납니다.
예를 들어, 다른 sh(예: other.sh)에서 Operation.sh를 호출해야 합니다.
sh other.sh
Operation.sh에서 1을 누를 때와 동일한 논리를 수행해야 합니다.
other.sh에는 다음과 같은 내용이 있습니다.
sh operation.sh 1
말이 안 된다는 점은 이해합니다(하지만 아무 생각이 없었기 때문에 시도해 보았습니다).
다른 스크립트에서 메뉴 스크립트를 호출하는 방법(사용자가 선택한 메뉴에 따라 작업을 수행하기 위해)
답변1
#!/bin/sh
OPC1() {
echo "Opcion 1"
}
OPC2() {
echo "Opcion 2"
}
SELECCIONA() {
if ( test $opc -eq 1 )
then
OPC1
else
OPC2
fi
}
#### MAIN ##########
opc=$1
if [ $1 ]
then
SELECCIONA
else
echo "1. start "
echo "2. stop "
echo "0. salir "
read opc
SELECCIONA
fi
답변2
echo -e "1\n2"
스크립트에 파이핑을 시도해보세요 . \n
다음 문자열에 메뉴 응답을 newline()으로 구분하여 넣기만 하면 됩니다 -e
.
echo -e "1\n2" | operation.sh
또 다른 옵션은 텍스트 파일의 각 줄에 순차적으로 응답을 배치하는 것입니다. 그런 다음 파일을 cat하여 스크립트로 파이프할 수 있습니다.
cat responses.txt | operation.sh