プロンプトで指定されたフルパスに基づいてディレクトリを生成するプログラムを実行しようとしていますが、ディレクトリがすでに存在する場合はエラー(「ディレクトリはすでに存在します」)を返し、再帰関数。
私が試したことは次のとおりです。test1
次のようなファイルがあるとしましょう。
#!/bin/bash
echo "enter the directory name"
read ab
check(){
if (( echo `mkdir $ab` 2>/dev/null )); then
echo "directory created "
echo `ls -ld $ab`
exit
else
echo "try again "
echo "enter new value for directory:"
read ab
check
fi
}
check
ここでの問題は、ディレクトリが存在する場合はプログラムが正常に動作しますが、存在しない場合はディレクトリを作成し、プログラムの別の部分に移動することです。
ベストアンサー1
エコはいつも成功します。それとサブシェルがない場合:
#!/bin/bash
echo "enter the directory name"
read ab
check(){
if mkdir "$ab" 2>/dev/null; then
echo "directory created "
ls -ld "$ab"
exit
else
echo "try again "
echo "enter new value for directory: "
read ab
check
fi
}
check