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

腳本獲取當前目錄

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

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:624
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:355
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:69
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:294
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:786
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:336
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:201
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:796
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:353
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:581