Linux shell中如何獲取當前目錄
更新時間:2023年07月25日 09:59:48 作者:sayyy
這篇文章主要介紹了Linux shell中如何獲取當前目錄問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
Linux shell中獲取當前目錄
當前目錄
每當你在終端進行操作時,你都會有一個當前工作目錄。
使用pwd來判定當前目錄在文件系統(tǒng)內的確切位置。
[root@localhost ~]# pwd /root
在shell中也可以使用pwd來獲取當前目錄,并賦值給變量。
#!/bin/bash CRTDIR=$(pwd)
工作目錄
獲取當前執(zhí)行的腳本文件的父目錄。
workdir=$(cd $(dirname $0); pwd)
復雜點的工作目錄獲取
PRG="$0" while [ -h "$PRG" ] ; do ? ls=`ls -ld "$PRG"` ? link=`expr "$ls" : '.*-> \(.*\)$'` ? if expr "$link" : '/.*' > /dev/null; then ? ? PRG="$link" ? else ? ? PRG=`dirname "$PRG"`/"$link" ? fi done PRGDIR=$(cd $(dirname $PRG); pwd)
shell腳本常用語法——獲得當前目錄
1.獲得shell腳本所在的絕對路徑
CURRENT_DIR=$(cd $(dirname $0); pwd)
或者
CURRENT_DIR=$(cd `dirname $0`; pwd)
執(zhí)行步驟解析:
dirname $0
: 取得當前執(zhí)行的腳本文件所在的目錄;cd
: 進入當前工作目錄;pwd
: 顯示當前工作目錄;
將當前工作目錄輸出給變量CURRENT_DIR。
2.獲得shell腳本所在目錄的父級目錄的絕對路徑
由于能1 獲得shell腳本所在的絕對路徑,那么同理,就可以獲得腳本所在目錄的父級目錄的絕對路徑。
PARENT_DIR=$(cd $(dirname $0);cd ..; pwd)
只是在pwd命令之前添加了cd ..到父級目錄。
注意:
$()
與``
作用一樣,用于shell命令的執(zhí)行。dirname
: 顯示最后一個結點前的路徑;相對的,basename: 顯示最后一個結點的名稱。$0
: 腳本的路徑名稱,包含腳本本身的名稱。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
一天一個shell命令 文本操作系列-linux dd使用教程
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉換2016-05-05提取oralce當天的alert log的shell腳本代碼
提取oralce當天的alert log的shell腳本代碼,需要的朋友可以參考下2013-02-02