Bash
如何在 WSL/Ubuntu/Bash 中使用兩個波浪號字元“~~”(或類似字元)創建路徑的快捷方式?
我是 Ubuntu/Linux 世界的新手,所以不要對我太苛刻。
我在帶有 WSL2 和 bash shell 的 Windows 上使用 Ubuntu。有時我想將文件從 Windows 複製到 Ubuntu 或其他方式。我在網上找到了一些關於如何做到這一點的教程,最簡單的方法是導航到
/mnt/c/Users/<your_user>
.我想創建一個像波浪號
~
這樣的變數,這意味著我的 Windows 使用者的主目錄。我考慮過使用雙波浪號~~
,因為我看到它不是保留的或什麼的。
/bin
我在命名中創建了一個執行檔,~~
它echo
是必要的路徑。但這使用起來很麻煩。有沒有辦法創建一個特殊的字元
~
?如果沒有,有沒有更好的方法來做到這一點?我想要的最終結果是能夠執行以下操作:
cp ~~/Desktop/somefile.txt ~/somefile.txt
我在 WSL 下的解決方案是在我的主目錄中創建指向我的 Windows 配置文件的符號連結。我個人使用:
ln -s /mnt/c/Users/<username> ~/winhome
但是你可以縮短它。在 下
bash
,至少~~
似乎也可以用作符號連結名稱,但我擔心在某些情況下它可能會被誤解。如果您想嘗試該路線:ln -s /mnt/c/Users/<username> ~/~~
然後訪問它變成這樣:
cp ~/myfile ~/~~/Documents/
在您的情況下,您可能可以改用 shell 變數。你可以稱它為
$WH
eg 它仍然相當短:~$ export WH=/mnt/c/Users/your_user
這會將變數設置
WH
為您的 Windows 主目錄並將其導出為環境變數。然後,您可以使用此變數,如~$ cp $WH/Desktop/somefile.txt ~/somefile.txt
要使此設置永久化,您可以將此變數規範添加到您的
.bashrc
文件中。請注意,如果 Windows 主目錄的路徑包含空格,則必須在變數定義中引用路徑並在以後使用:
export WH="/mnt/c/Users/your user"
在你
.bashrc
和~$ cp "$WH"/Desktop/somefile.txt ~/somefile.txt
在控制台上使用時。