現在のディレクトリがあり、DIR/
新しい名前がproject1/
パラメータとして渡される場合は、現在のディレクトリ名をに変更する必要がありますproject1
。
ベストアンサー1
現在の作業ディレクトリの名前を変更すると、ほとんどのシェルは変更($PWD
変数やプロンプトなど)がわからないため、シェルに変更を通知できるようにスクリプトではなく関数を使用することをお勧めします。完了したら、次のようになります。
rename_cwd() {
cd . || return
new_dir=${PWD%/*}/$1
mv -- "$PWD" "$new_dir" &&
cd -- "$new_dir"
}
/
現在のディレクトリが存在せず、ターゲットディレクトリもまだ存在していないとします(この状況を改善するには、-T
GNUオプションを参照してくださいmv
)。
場合によっては、$PWD
これが現実と同期しない可能性があるため、上記のコードは最終的に現在の作業ディレクトリを変更する可能性があります。これはcd .
、一部のシェルでこれが発生する可能性を減らすためです。