2010-11-27 8 views
0

.profile 파일에 shoutout 기능이 있습니다. shoutout 'Hello'을 실행하면이 함수는 예상 응답 인 Hello을 출력합니다. 그러나 매개 변수없이 shoutout을 호출하고 기능을 인쇄하려면 Foobar을 간단하게 호출하고 싶습니다.유닉스에서 기본 매개 변수를 지정하는 방법은 무엇입니까?

변수 사용 여부에 관계없이 $ 1에 대한 기본값을 어떻게 지정합니까? 감사!

shoutout() { 
    echo $1 
} 
+0

때문에 HO의 : 인수 콜론 (:)를 생략 w 당신은 루비가 아니라 쉘이나 bash 질문이다. –

답변

7
shoutout() { 
    echo ${1:-Foobar} 
} 

편집 : 덕분에

는 누락 된 빈 문자열 인수를 혼동 방지하기 위해 ... 내가 인식되지 않았습니다이 여분의 TID 비트에 대한 @ephemient하기

shoutout() { 
    echo ${1-Foobar} 
} 

$ shoutout 
Foobar 
$ shoutout "" 

$ 
+0

문제 일 수도 있고 아닐 수도있는 사소한 문제. 'shoutout '는''Foobar' '를 생성한다. –

+3

이 경우를 처리하려면'$ {1 : -Foobar} '대신'$ {1-Foobar}'를 사용하십시오. – ephemient

+0

+1 @ephemient! 매일 새로운 것을 배웁니다. –

0
shoutout() { 
    if [ $# -eq 0 ]; then 
     echo No arguments. 
    else 
     echo $1 
    fi 
} 
관련 문제