Linux shell中如何獲取當(dāng)前目錄
Linux shell中獲取當(dāng)前目錄
當(dāng)前目錄
每當(dāng)你在終端進(jìn)行操作時,你都會有一個當(dāng)前工作目錄。
使用pwd來判定當(dāng)前目錄在文件系統(tǒng)內(nèi)的確切位置。
[root@localhost ~]# pwd /root
在shell中也可以使用pwd來獲取當(dāng)前目錄,并賦值給變量。
#!/bin/bash CRTDIR=$(pwd)
工作目錄
獲取當(dāng)前執(zhí)行的腳本文件的父目錄。
workdir=$(cd $(dirname $0); pwd)
復(fù)雜點的工作目錄獲取
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腳本常用語法——獲得當(dāng)前目錄
1.獲得shell腳本所在的絕對路徑
CURRENT_DIR=$(cd $(dirname $0); pwd)
或者
CURRENT_DIR=$(cd `dirname $0`; pwd)
執(zhí)行步驟解析:
dirname $0
: 取得當(dāng)前執(zhí)行的腳本文件所在的目錄;cd
: 進(jìn)入當(dāng)前工作目錄;pwd
: 顯示當(dāng)前工作目錄;
將當(dāng)前工作目錄輸出給變量CURRENT_DIR。
2.獲得shell腳本所在目錄的父級目錄的絕對路徑
由于能1 獲得shell腳本所在的絕對路徑,那么同理,就可以獲得腳本所在目錄的父級目錄的絕對路徑。
PARENT_DIR=$(cd $(dirname $0);cd ..; pwd)
只是在pwd命令之前添加了cd ..到父級目錄。
注意:
$()
與``
作用一樣,用于shell命令的執(zhí)行。dirname
: 顯示最后一個結(jié)點前的路徑;相對的,basename: 顯示最后一個結(jié)點的名稱。$0
: 腳本的路徑名稱,包含腳本本身的名稱。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
一天一個shell命令 文本操作系列-linux dd使用教程
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,并在拷貝的同時進(jìn)行指定的轉(zhuǎn)換2016-05-05提取oralce當(dāng)天的alert log的shell腳本代碼
提取oralce當(dāng)天的alert log的shell腳本代碼,需要的朋友可以參考下2013-02-02Shell腳本中讓進(jìn)程休眠的方法(sleep用法)
這篇文章主要介紹了Shell腳本中讓進(jìn)程休眠的方法,本文講解的就是sleep的用法,可以實現(xiàn)睡覺若干秒、若干分鐘、若干小時,需要的朋友可以參考下2014-11-11