Directory

定義自定義位置別名

  • September 13, 2019

我正在嘗試找到一種無需每次都指定整個路徑即可訪問目錄的方法。例如,我下載了很多影片,並設置了一個文件夾來儲存所有這些影片,因為我將在許多不同的場合多次訪問和移動/複製同一個文件夾中的內容,我是尋找一種方法來定義一個別名(或類似的東西),這樣我就可以在終端中快速引用該文件夾,比如

mv video.mp4 VIDFOLDER

在哪裡

VIDFOLDER=/path/to/my/folder

到目前為止,我只嘗試設置一個環境變數,但它似乎不起作用。我嘗試尋找其他方法,但找不到太多。有任何想法嗎?

你快到了:

而不是mv video.mp4 VIDFOLDER你需要mv video.mp4 "$VIDFOLDER". $需要使用該變數。在分配變數期間不得使用它。

export VIDFOLDER=/path/to/my/folder應該進入你的.bashrc-file。

作為替代方案,您可以為此設置功能(在.bashrc.bash_aliases),請參閱cas 提供的功能

vidmv () { command mv "$@" /path/to/my/folder; }

mv將像往常一樣處理任何失去或不可讀的文件錯誤。這還具有支持所有現有mv選項的優勢(除了-T那些不起作用)。例如-v對於詳細、-n無破壞、-u僅更新等。

執行為,例如:

vidmv -v -u *.mp4

注意:command函式中的mv以在 PATH 中找到的方式執行,忽略任何別名或名為mv. 例如,這是一種常見的做法——除非您將其指定為選項,否則alias mv='mv -i'此函式將忽略它並在mv沒有的情況下執行。-i``vidmv

或者

vidmv () { command mv "$@" "$VIDFOLDER"; } 

此版本允許在不重新定義功能的情況下更改目的地。當然,VIDFOLDER必須在目前 shell 或.bash_profile, .bashrc/etc中預先定義

引用自:https://unix.stackexchange.com/questions/541577