自動獲取shell指令碼的絕對路徑,執行路徑
檔名 test.sh
#!/bin/sh
echo "指令碼所在的資料夾名:"
dirname $0
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo "指令碼的執行路徑"
echo $DIR
abspath=$(cd "$(dirname "$0")"; pwd)
echo "指令碼的所在路徑名:"
echo $abspath
我們寫指令碼的時可以在程式的開始加入
abspath=$(cd "$(dirname "$0")"; pwd)
cd $abspath
這樣無論如何移動指令碼,都不影響程式在其當前目錄下正常執行
希望能幫助到你。
歡迎關注我微信公眾號somenzz, 進行技術分享與交流。
相關推薦
自動獲取shell指令碼的絕對路徑,執行路徑
檔名 test.sh #!/bin/sh echo "指令碼所在的資料夾名:" dirname $0 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "指令碼的執行路徑
jenkins自動部署中執行shell指令碼啟動tomcat,但是tomcat不啟動的問題
Jenkins會在構建完成後使用processTreeKiller殺掉了所有子程序,而且這是Jenkins的預設行為。其實回頭來看這個問題,就發現Jenkins的做法非常合理。當一次build異常結束,或被人終止時,必然需要結束所有這次build啟動的子程序。下面的link提供了更多細節,以及解決方法。htt
expect 普通用戶自動輸入密碼到root下,執行命令
expect案例:當前服務器取消了直接使用root登錄服務器,只能使用普通用戶先登錄,然後再su - root 執行root下的命令。 shell腳本如下: #!/usr/bin/expect -fset password {root_password}spawn su - rootexpect "
java通過讀取本地文件獲取反射方法參數,執行對象方法
invoke 文本 [] run pac 執行 read prop col 運用到的知識點 IO流, 集合properties 反射 在工程目錄下新建file config.properties #one time only can run one met
在asp.net mvc3 中,在controller中使用HttpPostedFileBase file 引數獲取上傳的檔案,檔案路徑問題
轉載:https://zhidao.baidu.com/question/444203596.html 在asp.net mvc3 中,在controller中使用HttpPostedFileBase file 引數獲取上傳的檔案,開始的時候file.filename獲取的為檔案的名稱,後來
Linux下Oracle資料庫自動備份Shell指令碼
1.在伺服器建立備份目錄,並賦予許可權 mkdir -p /backup/P_DATA #新建shell指令碼存放路徑 mkdir -p /backup/P_DB_BACK #新建Oracle資料庫備份目錄 chown -R oracle:oinstall /backup/P
通過Linux定時任務加shell指令碼檢測RabbitMQ消費者執行狀況以及自啟
目的:防止RabbitMQ消費者程序中斷影響業務 1、編寫 rabbitmq_consumer.php消費者檔案 (關於消費者和生產者請移步:https://blog.csdn.net/why444216978/article/details/84987011) 2、編寫she
Shell 指令碼等待上一行執行完成再執行下一行的方法
在開發中,我們有時候需要使用 Shell 指令碼完成一些簡單的操作,但是往往有的操作比較耗時,但是我們又不得不等待它執行完成後才能進行下面的步驟,所以許多朋友往往使用sleep等方法來強制等待操作完成,其實完全沒有必要,我們只需要使用一個小小的 tricky 方
sql自動獲取有格式的編碼,和欄位新增值
1、根據時間和特殊的字元加自增數獲取值,每天自動更新 SELECT CONCAT('${applyType}',DATE_FORMAT(NOW(),'%Y%m%d'), LPAD(RIGHT((CASE WHEN MAX(a.apply_no) IS NULL THEN '0
Shell指令碼(介紹,變數,運算,條件判斷,迴圈,函式)
shell是人機互動的翻譯 注意的是,shell和Linux核心合在一起才是Linux。 Shell指令碼命令由兩種工作方式, 一種是互動式,寫一句命令,執行一句命令 一種是批處理,一次執行多個命令,先把命令寫好,然後在執行 舉個例子: [[emai
centos7 mysql自動備份 MySQL自動備份shell指令碼
MySQL自動備份shell指令碼 在資料庫的日常維護工作中,除了保證業務的正常執行以外,就是要對資料庫進行備份,以免造成資料庫的丟失,從而給企業帶來重大經濟損失。通常備份可以按照備份時資料庫狀態分為熱備和冷備,按照備份資料庫檔案的大小分為增量備份、差異備份和全量備份.一
Linux shell指令碼使用while迴圈執行ssh的注意事項
如果要使用ssh批量登入到其它系統上操作時,我們會採用迴圈的方式去處理,那麼這裡存在一個巨大坑,你必須要小心了。 一、場景還原: 我現在是想用一個指令碼獲取一定列表伺服器的執行時間,首先我建立一個名字為ip.txt的IP列表(一個IP一行),再建好金鑰實現不用密碼直接登入。然後寫指令碼如下: [co
dedecms 自動獲取上級欄目的標題,關鍵字和描述
ml2 empty 欄目 words ddt 一段 == get from <title>{dede:field.seotitle/}</title><meta name="keywords" content="{dede:field name
實用指令碼----Linux下Jdk和Tomcat自動安裝shell指令碼總結
一、JDK 自動安裝指令碼 jdk自動安裝bash shell指令碼,截止今天(2014/10/15)親測可用: sudo su #切換到root許可權 mkdir /usr/local/java cd /usr/local/java #download jdk 1.7.67 wget --no-ch
python3絕對路徑,相對路徑
當前目錄 spa app ima module .com 變量 imp 當前 在項目中如果直接import modulename 默認會從python的環境變量中尋找sys.path,如果當前目錄下有同名的文件就會導入當前目錄中的mudule 上圖直接從當前路徑導入cel
編寫shell指令碼檔案來批量執行labelme_json_to_dataset
總結: 主要有三個點要把握好: 1.shell的語法(這個網上資料很多) 2.labelme轉化時候要啟用自己安裝labelme的anaconda環境,要不然就找不到labelme_json_to_dataset 3.出現Bad for loop variable不是
shell指令碼函式宣告,呼叫
shell指令碼中函式的宣告, 呼叫,處理結果的返回等問題。 1. 函式宣告 1.1 函式需要先聲明後呼叫, 宣告和呼叫有順序要求。 1.2 shell中的函式返回值只能是數字, 返回0表示執行成功, 返回其他型別的值時會報錯:numeric argument req
Linux shell指令碼的建立與執行
在進行linux測試時編寫指令碼是必不可少的。最近經常使用Linux,感覺太頻繁地敲擊鍵盤有些累了,於是想到了Shell指令碼。可以把太多的命令寫成一個指令碼,這樣每次執行一遍 shell檔案,就可以省去了敲擊鍵盤的時間。於是在網上搜了一些有關Linux下指令碼程式設計
K8S測試自動安裝shell指令碼
#!/bin/bash function f_tls(){ #直接使用二進位制原始碼包安裝 ls -l /usr/local/bin/cfssl* > /dev/null 2>&1 if [ $? != 0 ];then wget http://172.23.210.
shell指令碼的建立與執行
指令碼的開頭(第一行): 規範的指令碼在指令碼的第一行會指出由哪個程式(直譯器)來執行指令碼中的內容 在linux bash的程式設計中一般為: #!/bin/bash