나는 내가 ./jmeter_script.sh: 19: shift: can't shift that many
다음 종료를 말하는 오류가 ./jmeter_script.sh start abc.jmx log.jtl
을 사용하여 스크립트를 실행하려고하면 다른 methods.The 스크립트와 쉘 스크립트가쉘 스크립트를 실행하는 동안 "shift : 많은 부분을 이동할 수 없습니다"라는 오류를 해결하는 방법은 무엇입니까?
status(){
PID=$(ps -ef | grep jmeter_script.sh|grep -v grep|awk '{print $2}')
}
start(){
shift
if [ "$#" -ne 2 ]; then
exit 1;
fi
jmeter.sh -n -t "$1" -l "$2"
}
stop(){
while true; do
read -p "Do you really want to stop?" yn
case $yn in
[Yy]*) ps -ef | grep jmeter | grep -v grep | awk '{print $2}'|xargs kill; break;;
[Nn]*) exit;;
*) echo "Please answer yes or no.";;
esac
view(){
#some code
}
####Main
while [ "$1" != "" ]; do
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
view)
view
;;
*)
echo $"Usage: $0 {start|stop|status|view}"
exit 1
esac
shift
done
입니다 있습니다. 내 스크립트를 ubuntu
서버에서 실행 중입니다. 이 문제를 해결하기 위해 노력했지만이 오류에 대한 적절한 링크를 찾을 수 없습니다. 누군가 제발 도와주세요.
'$ #'이상으로 이동할 수 없습니다. '$ # '가 0 일 때 ('start'의 호출과 같이),'shift'를 전혀 사용할 수 없습니다. 함수 내에서''$ @ ''등은 함수 호출에 대한 인수이며, 스크립트 전체에 대한 인수는 아닙니다. –
@JonathanLeffler 어떻게 해결할 수 있습니까? 'start()'메서드에서'if 조건 '을 어떻게 바꿀 수 있습니까? 또는'start()'메소드를 어떻게'command line arguments'를 취할 수 있도록 변경할 수 있습니까? – user6348718
@Cyrus 당신이 한 말을 듣지 못했습니다. 내가 잘못 된 곳을 설명해 주시겠습니까? – user6348718