Shell獲取腳本當前路徑


在shell腳本中,獲取當前腳本所在的絕對路徑,

script_dir=$(cd $(dirname $0);pwd)
  • dirname $0:獲取當前腳本所在的絕對目錄
  • cd $(dirname $0):進入這個目錄
  • pwd:顯示切換后腳本所在工作目錄

獲取腳本的上層目錄

dir=$(dirname $script_dir)

補充

  • dirname輸出去掉最后一個非斜杠目錄名和尾隨斜杠以后的剩余部分;如果目錄名不包含/,則輸出.(表示當前目錄)
dirname /usr/bin/  # 輸出 /usr
dirname dir1/str  dir/str # 輸出 dir1或者dir2
dirname stdio.h # 輸出 .
  • $0:如果在當前目錄下執行腳本,獲取Shell本身的文件名;如果在其他目錄下執行腳本,獲取相對根目錄的完整腳本路徑。
  • $$ :Shell本身的PID(ProcessID)
  • $#: 添加到Shell的參數個數 (待確認)
  • $@:所有參數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數(待確認)
  • $1~$n:添加到Shell的各參數值。$1是第1參數、$2是第2參數…
  • $!:Shell最后運行的后台Process的PID
  • $? :最后運行的命令的結束代碼(返回值)
  • $-  使用Set命令設定的Flag一覽
  • $*  所有參數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM