毎回フルパスを指定せずにディレクトリにアクセスする方法を見つけたいと思います。たとえば、私はたくさんのビデオをダウンロードし、すべてのビデオを保存するフォルダを設定しました。複数のケースで同じフォルダに複数回アクセスし、そのフォルダからコンテンツを移動/コピーするため、次のことを探しています。端末でフォルダをすばやく参照できるようにするエイリアシング(または同様のもの)を定義する方法(例:
mv video.mp4 VIDFOLDER
どこ
VIDFOLDER=/path/to/my/folder
今は環境変数を設定しようとしましたが、うまくいかないようです。別の方法を探しましたが、あまり見つかりませんでした。どんなアイデアがありますか?
答え1
vidmv () { command mv "$@" /path/to/my/folder; }
mv
欠落または読めないファイルエラーは、通常どおり処理されます。これには、既存のすべてのmv
オプション(-T
機能しないオプションを除く)をサポートするという利点もあります。たとえば、-v
冗長なコンテンツ、-n
スポイラーなし、-u
更新のみが含まれます。
たとえば、次のように実行します。
vidmv -v -u *.mp4
注:command
の関数は PATH のとおりに実行され、mv
というエイリアスまたは関数は無視されますmv
。たとえば、オプションで指定しない限り、alias mv='mv -i'
この関数はこれを無視して実行するのが一般的な方法です。mv
-i
vidmv
または
vidmv () { command mv "$@" "$VIDFOLDER"; }
このバージョンでは、機能を上書きせずにターゲットを変更できます。もちろん、VIDFOLDER
現在のシェルや.bash_profile
/などで.bashrc
事前定義されている必要があります。
答え2
ほぼすべて来ました:
mv video.mp4 VIDFOLDER
必ずしもそうではありませんmv video.mp4 "$VIDFOLDER"
。$
この変数は必須です。変数の割り当て中は使用しないでください。
export VIDFOLDER=/path/to/my/folder
- ファイルに入る必要があります.bashrc
。
あるいは、これに機能を設定することもできます(.bashrc
または.bash_aliases
)。CASが提供する機能