私は大きな古典であることを知っていますが、私が興味を持っている正確なケースを見つけることができませんでした。
次のように呼び出すことができる+コマンドが必要ですmkdir
。mv
mvdir /home/user/Documents/irs.pdf /mnt/work/45/223/insight/irs1970.pdf
通常のコマンドとmv
同じように機能し、代わりにパスを生成します。no such file or directory
work/45/223/insight/
存在せず、作成する必要があると思います。
私が見つけた他のすべてのコマンドはこのように呼び出すことができず、より多くの情報が必要であり、パスとファイルを直接区別する必要があります。
試み:mkdir -p /mnt/work/45/223/insight && mv /home/user/Documents/irs.pdf /mnt/work/45/223/insight/irs1970.pdf
ベストアンサー1
この問題に対するあなたの試みは公平です。処理方法を検討する方法は次のとおりです。
#!/bin/sh
src=$1
dst=$2
if [ ! -d "$dst" ]
then
dir=${dst%/*} # dir path
[ "$dir" = "$dst" ] && dir=. # but had no dir
mkdir -p "$dir" # create path
fi
mv "$src" "$dst" # move file
これをmvdir
ユーザーの場所の1つに保存し$PATH
て実行可能にします。
このスクリプトは複数のソースを処理するように拡張できますが、ここではそうしませんでした。