2012-03-16 6 views
0
echo $1 $2 $3 ' -> echo $1 $2 $3' 
args=("[email protected]") 
echo ${args[0]} ${args[1]} ${args[2]} ' -> args=("[email protected]"); echo ${args[0]} ${args[1]} ${args[2]}' 
echo [email protected] ' -> echo [email protected]' 
echo Number of arguments passed: $# ' -> echo Number of arguments passed: $#' 

에 인수를 전달 할 수 없음이 출력배쉬를 처음 사용. bash는 스크립트

This is suppose to be the output

을 것으로 생각됩니다하지만 대신 얻을.

Jasons-MacBook-Pro:bash jasonkim$ bash arguments.sh 
-> echo $1 $2 $3 
-> args=("[email protected]"); echo ${args[0]} ${args[1]} ${args[2]} 
-> echo [email protected] 
Number of arguments passed: 0 -> echo Number of arguments passed: $# 

답변

3

문제가되지 않습니다 당신이 할 수없는 것을, 당신 하지을했다는 것을입니다.

bash arguments.sh Bash Scripting Tutorial 
0
#!/bin/bash 

for var in "[email protected]" 
do 
    echo "$var" 
done 

$ ./scr.sh ABC

출력 :

a 
b 
c 
  • 그리고 네, 분명히 오류는에서 스크립트에 매개 변수를 통과하지 못한 것입니다 모두 ... 아마도 실행을 시도하십시오 : bash arguments.sh arg1 arg2 arg3?
+1

''$ @ "'는'for'의 기본 대상입니다. –

+0

좋은 지적. 나는 단지 그것을 "읽을 수있는"방법으로 설명하려 노력했다 ... ;-) –