filename=${1:-/etc/hosts}와 filename=/etc/hosts의 차이점은 무엇입니까? [복사]

filename=${1:-/etc/hosts}와 filename=/etc/hosts의 차이점은 무엇입니까? [복사]

filename=${1:-/etc/hosts}이들그리고 그리고 의 차이점은 무엇인가요 filename=/etc/hosts?

예를 들어:

filename=/etc/hosts

if [ -r "$filename" ] && [ -s "$filename" ]; then
    md5sum $filename
else
    echo "$filename cannot be processed"
fi

그리고

filename=${1:-/etc/hosts}

if [ -r "$filename" ] && [ -s "$filename" ]; then
    md5sum $filename
else
    echo "$filename cannot be processed"
fi

답변1

filename=${1:-/etc/hosts}설정되지 않거나 null인 경우 /etc/hosts변수에 값이 할당됩니다.filename$1

~에서GNU 배쉬 매뉴얼:

${parameter:-word}

설정 되지 parameter않거나 비어 있으면 단어의 확장이 대체됩니다. 그렇지 않으면 parameter값이 대체됩니다.

관련 정보