여기서 작은 문제에 직면했습니다. 나는 일을 해요:
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
...