簡體   English   中英

如何在Linux shell腳本的命令行中從“../”獲取完整路徑

[英]How to get full path from “../” on command line in Linux shell script

如果我有一個shell腳本,我使用“../”獲取父文件夾,我可以將它擴展到它的絕對路徑嗎?

你想要readlink -f

$ cd /tmp
$ readlink -f ..
/

使用realpath

$ realpath ..
/home

雖然您經常可以使用stat獲取目錄的完整路徑,但您也可以使用pwd -P ...但是,除非您實際上cd到您感興趣的目錄,否則它沒有多大幫助。

為了解決這個限制而不實際更改當前工作目錄,我發現只需在子shell中運行該cd就可以了,如:

THIS=`dirname $0`     # Which is often "."
PARENT=$(
  cd $THIS            # At this point, we are sure we're in script's directory
  dirname `pwd -P`
)
echo "PARENT=$PARENT"

在cmd行中使用時:

dirname $(pwd)

在shell腳本中使用時:

PROJ_DIR=$(dirname $(pwd))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM