如何在 Bash 中獲取檔案路徑引數中的最後一個 dirname/filename?
我們使用 bash 檔案來儲存不同的變數,我們通常稱之為環境變數。稍後,我們可以透過 Linux 提供的 echo 實用程式命令輕鬆列印它們來訪問這些變數。
示例
列印 $PATH 環境變數。
命令
echo $PATH
輸出
immukul@192 src % echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Library/Apple/usr/bin:/Us ers/immukul/.cargo/bin
現在我們可以看到 PATH 環境變數由不同的目錄組成,假設我們想要路徑變數中的最後一個檔名。
在這種情況下,我們將使用 Linux 提供的 basename 命令實用程式。
**basename** 命令用於移除目錄路徑並返回變數中存在的最後一個檔名。
命令
basename $PATH
輸出
bin
我們還可以使用一個簡單的技巧來獲取倒數第二個值,方法是將 basename 命令修改為類似這樣的內容:
sh-3.2# echo $(basename $(dirname $PATH))
上述命令將有助於獲取 PATH 變數的倒數第二個名稱,這是一個目錄。
輸出
.cargo
同樣,我們也可以列印倒數第三個名稱。
命令
sh-3.2# echo $(basename $(dirname $(dirname $PATH)))
輸出
immukul
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP