테스트 CD는 ksh의 기능을 수행합니다.

테스트 CD는 ksh의 기능을 수행합니다.

여기서 작은 문제에 직면했습니다. 나는 일을 해요:

cd $(find . -type d | grep "${4:0:4}.*${4:4:2}.*${4:6:2}")

$4는 사용자가 입력한 데이터입니다. 그러나 사용자가 입력 형식을 따르지 않으면 다음과 같이 됩니다. cd 그러면 내 값은 $?1이 아닌 0이 되고 cd내 집으로 이동하게 됩니다. 나는 이것을 내 오류 사례에 소개하고 싶습니다. (내 말은 :) if $? = 1. 어떻게 해야 하나요?

답변1

이 작업은 두 단계로 수행할 수 있습니다.

newdir="$(find . -type d | grep "${4:0:4}.*${4:4:2}.*${4:6:2}")"
if [ -z "$newdir" ];then
    # error out here
else
    cd "$newdir"
fi
...

관련 정보