저는 bash 스크립팅을 처음 접했고 명령줄을 통해 실행할 때 스크립트의 bash 스크립트 함수가 인수를 취하도록 만드는 가장 쉬운 방법이 무엇인지 알고 싶습니다.
사용 예:
./myscript function1
./myscript function2
myscript 내용 예:
echo "Example myscript"
function1() {
echo "I am function number 1"
}
function2() {
echo "I am function number 2"
}
if [ $# -eq 0 ]; then
echo "Specify a function. E.g. function1"
exit 1;
fi
스크립트는 명령줄에서 호출될 때만 특정 기능을 실행합니다. 그렇지 않은 경우에는 몇 가지 예제 사용법이 표시됩니다. cron 및 해당 프로세스에서 사용할 수 있어야 하며 사용자가 실행해야 합니다.
답변1
쉘 스크립트에 전달된 모든 매개변수는 다음 위치에 저장됩니다.$@, 이를 반복할 수 있습니다.
#!/bin/bash
echo "Example myscript"
function1() {
echo "I am function number 1"
}
function2() {
echo "I am function number 2"
}
if [ $# -eq 0 ]; then
echo "Specify a function. E.g. function1"
exit 1;
fi
for func do
[ "$(type -t -- "$func")" = function ] && "$func"
done
[ "$(type -t -- "$func")" = function ]
$func
함수일 때만 함수 호출을 하도록 하세요 .
예:
$ ./test.sh function1
Example myscript
I am function number 1
$ ./test.sh function1 function2
Example myscript
I am function number 1
I am function number 2