當前位置:首頁 » 編程軟體 » 腳本獲取當前目錄

腳本獲取當前目錄

發布時間: 2023-07-28 18:51:47

A. 怎麼讓shell腳本獲得自己所在目錄名

1.使用絕對路徑執行的shell文件(如/home/xxx/binfile)
直接使用dirname $0即可
2.對於使用相對路徑執行的shell文件(如 ./xxx/binfile)
pwd與dirname結合使用;pwd獲得的是執行當前shell文件時,用戶所在的位置;dirname可以獲得相對於那個位置的偏移:
例如某shell文件所在的位置是/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src/notify_serv/shell文件名

1 #!/bin/sh
2 pwd
3 echo `dirname $0`
執行後輸出
/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src
./notify_serv

B. shell獲得當前目錄名的幾種方法

1、我們先登錄第一個用戶,root。登錄後,echo $SHELL。

C. python獲取當前路徑

來自: https://www.cnblogs.com/wind-wang/p/5822192.html

import os,sys

使用sys.path[0]、sys.argv[0]、os.getcwd()、os.path.abspath( file )、os.path.realpath( file )

sys.path是Python會去尋找模塊的搜索路徑列表,sys.path[0]和sys.argv[0]是一回事因為Python會自動把sys.argv[0]加入sys.path。

如果你在C: est目錄下執行python getpathgetpath.py,那麼os.getcwd()會輸出「C: est」,sys.path[0]會輸出「C: estgetpath」。

如果你用py2exe模塊把Python腳本編譯為可執行文件,那麼sys.path[0]的輸出還會變化:
如果把依賴庫用默認的方式打包為zip文件,那麼sys.path[0]會輸出「C: estgetpathlibarary.zip」;
如果在setup.py裡面指定zipfile=None參數,依賴庫就會被打包到exe文件裡面,那麼sys.path[0]會輸出「C: estgetpathgetpath.exe」。

os.getcwd() 「D:」,取的是起始執行目錄
sys.path[0]或sys.argv[0] 「D:python_test」,取的是被初始執行的腳本的所在目錄
os.path.split(os.path.realpath( file ))[0] 「D:python_test」,取的是 file 所在文件test_path.py的所在目錄

正確獲取當前的路徑:

D. lua腳本怎麼獲取當前正在執行的腳本的當前路徑

時代在發展科技在進步,互聯網已經不是什麼神秘的領域,現在越來越多的年輕人對於互聯網越來越熟悉,甚至有些開始學習Linux系統方面的知識,下面小猿圈Linux講師就講關於如何在Linux系統獲取當前工作路,希望對你有所幫助。

獲取工作路徑這里介紹兩種方法:

1、使用getcwd()函數。

頭文件:#include

定義函數:char*getcwd(char*buf,size_tsize);

函數說明:getcwd()會將當前的工作目錄絕對路徑復制到參數buf所指的內存空間,參數size為buf的空間大小。

實例:

voidgetPath()

{

charpPath[256]={0};

getcwd(buf,256);

printf("filePath:%s\n",pPath);

}

主函數調用此函數運行結果:

filePath:/home/myTest

2、使用readlink()函數

頭文件:#include<unistd.h>

函數定義:intreadlink(constchar*path,char*buf,size_tbufsiz);

函數說明:此函數會將參數path的符號連接內容到參數buf所指的內存空間,返回的內容不是以NULL作字元串結尾,但會將字元串的字元數返回。若參數bufsiz小於符號連接的內容長度,過長的內容會被截斷。成功返回buf長度,失敗返回-1。

實例:

voidgetPath()

{

charpPath[256]={0};

intret=-1;

ret=readlink("/proc/self/exe",pPath,256);

pPath[ret]="\0"

printf("thefilePath:%s\n",pPath);

}

intmain()

{

getPath();

}

運行結果:

thefilePath:/home/myTest/a.out

小猿圈Linux講師提醒大家:每天學習一點技術問題,只要功夫深,鐵杵磨成針,學習不是一朝一夕的,是需要付出行動的,而且還要堅持,學習新的技術需要不斷的查閱資料,看視頻,復習,練習,如果你工作中或者生活中遇到什麼問題,可以到小猿圈去尋找答案的,相信會給你滿意的答復

熱點內容
ftp跨域上傳文件 發布:2025-02-06 02:09:22 瀏覽:821
非遞歸全排列演算法 發布:2025-02-06 02:06:45 瀏覽:550
vs反編譯dll 發布:2025-02-06 02:06:00 瀏覽:583
ubuntu設置ftp許可權 發布:2025-02-06 01:54:07 瀏覽:598
奇瑞5哪個配置值得買 發布:2025-02-06 01:51:56 瀏覽:551
黑鯊手機哪裡看安卓版本 發布:2025-02-06 01:36:04 瀏覽:802
如何配置2檸檬酸 發布:2025-02-06 00:57:26 瀏覽:435
積木源碼 發布:2025-02-06 00:55:26 瀏覽:546
變分的運演算法則 發布:2025-02-06 00:55:21 瀏覽:776
x2哪個配置性價比高 發布:2025-02-06 00:40:12 瀏覽:110