使用wsl(linux的windows子系統)時,我經常想將目錄更改為windows目錄。wslpath 采用像 C:\Windows 這樣的 windows 目錄并將其轉換為 wsl 版本 /mnt/c/Windows。稍微參考這樣的結構效果很好(盡管我懷疑存在邊緣情況):
cd "`wslpath 'C:\Windows'`"
我想要做的是將它轉換成一個 bash 函式,我可以將它放入我的 .bashrc 檔案中,以使其更容易鍵入。我希望能夠輸入如下內容:
wcd 'C:\Windows'
問題是參考所有這些參考,所以我得到了我想要的。此選項失敗:
wcd ()
{
cd "`wslpath '$1'`"
}
那個永遠不會作業,但我更有希望:
wcd ()
{
cd \"\`wslpath \'$1\'\`\"
}
這就是我對 shell 參考的限制,但我相信應該可以讓它正常作業。
uj5u.com熱心網友回復:
單引號防止變數擴展,因此'$1'產生文字 string $1。
命令替換是一個命令邊界,所以你可以說
wcd () { cd "`wslpath "$1"`"; }
沒有碰到公認的看起來像第二個引號的東西,它關閉了以第一個開頭引號開頭的字串,而不是嵌套,否則您通常無法做到這一點。
...盡管絕對應該在任何新代碼中使用廣受歡迎的現代命令替換語法;
wcd () { cd "$(wslpath "$1")"; }
感謝您正確參考您的論點!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/442876.html
標籤:重击 功能 windows-subsystem-for-linux 光盘 引用
上一篇:在bash中回圈陣列的問題
下一篇:requests.exceptions.InvalidURL:決議失敗:python中的<Response[200]>
