Try   HackMD
tags: blog, programming-note

bash (WSL) 下條件式的預設目錄

由於在 Windows 搭配 WSL 的環境下,如果是以 Ubuntu (或者是你使用的 Distro)啟動的話,預設的目錄會是你的家目錄~
雖然這個資料夾是實際存在於 Windows 裡的,但因為是 Windows Store 下載下來的 app 的關係,其路徑曲折離奇(?),如果有跨平台的檔案管理需求,會是一件麻煩事。
因此我想要將預設的目錄改成另外在 Windows 本身的環境下也比較好取用的地方,如果是這樣子的話就很簡單:
~/.bashrc 的最後面加上 cd [你想要設定的目錄] 即可。

cd /directory/you/want

但這樣的設定會有 side effect。
比如說,如果你有使用 Microsoft Visual Studio Code 的話,應該知道能夠在裡面直接開啟終端機,且該終端機的目錄會直接使用你正開啟的資料夾。
但是用了以上的設定,不論你在哪個資料夾開啟終端機,路徑都會跑去你所設定的目錄。
所以我們需要在上面再加上一點條件判斷。

if [ $PWD == ~ ]; then
    cd /directory/you/want
fi

在這邊我們取用了 $PWD 這個參數,它能夠讀取現在的目錄,就如同輸入 pwd 後會得到的結果。


如果是使用 Windows Terminal 的話,還有一個更簡單的方法。
就是在設定檔的地方加上 startingDirectory 就好了。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →


如果你喜歡這篇文章,請按照程度替我按 1~5 個讚!
歡迎加入讚賞公民的行列!不需要花費任何金錢,只要你辦個帳號就可以按讚了!