スクリプトファイルには次のコードがあります。
if [ ! -d $dir ]; then
cd $dir/..
git clone http://...
fi
もちろん、書かれているようにこれは$dir
存在しないので動作しません。ここでトップレベルのディレクトリを削除する良い方法はありますか?
ベストアンサー1
パラメータ拡張を使用してパスの最後のステップを削除します。既存のディレクトリが見つかるまでループでこれを行います。
while [[ $dir && ! -d $dir ]] ; do
dir=${dir%/*}
done
if [[ -d $dir ]] ; then
echo $dir exists.
fi