テスト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

これは2つのステップで実行できます。

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
...

関連情報