如何讓腳本在任意地方可執行


大家好,我是咔咔 不期速成,日拱一卒

在上一期文章《闖禍了,生成環境執行了DDL操作》中,為了防止在線DDL造成的SQL阻塞使用了第三方插件pt-online-schema-change

在使用這個插件修改表數據時需要加入很多參數,例如數據庫名、表名、數據庫地址、數據庫密碼等參數。

然后將插件需要執行一系列參數優化為一個腳本,那么問題來了,如何讓這個腳本在任意地方都可以執行呢?

在上期文章咔咔把執行的腳本放置到了如下位置,接下來看看都有哪些方法可以讓這個腳本可以在任意地方都可以執行。

死磕MySQL系列
死磕MySQL系列

一、將腳本路徑添加到.bashrc文件中

bash運行起來首先后加載.bahsrc文件,so可以直接把需要執行的腳本路徑添加到此文件中

那你得知道.bashrc文件在哪吧!位置就在當前用戶的根目錄,執行cd ~后即可看到此文件

接着在這個文件中把你的腳本路徑放進去即可,添加最后一行代碼export PATH="/script:$PATH"

最后,再使用source命令使我們的修改生效

source ~/.bashrc

來試試直接在根目錄執行給evt_sms表添加一個bash字段,看到下圖就知道我們的配置成功了

二、將腳本路徑添加到.profile文件中

文件路徑在etc/profile

在文件末尾加上export PATH="$PATH:$HOME/script"即可

這種方式需要退出終端才會生效

三、使用軟鏈的方式

把寫好的腳本復制到/usr/local/bin下

添加一個軟連接即可ln -s /usr/local/bin/pt.sh /usr/bin/pt.sh

然后就可以在任意地方執行pt.sh這個腳本了

四、總結

本文簡單的跟大家聊了兩種讓你的腳本在任何地方都可以執行,會使用其中一種就行了。

但實現的方式都要有了解,因為每個人喜歡處理的方式不一致,當你遇到這種腳本時你要知道他是在哪里配置的,然后你才可以修改它

五、推薦閱讀

打開order by的大門,一探究竟《死磕MySQL系列 十二》

重重封鎖,讓你一條數據都拿不到《死磕MySQL系列 十三》

闖禍了,生成環境執行了DDL操作《死磕MySQL系列 十四》

聊聊MySQL的加鎖規則《死磕MySQL系列 十五》

堅持學習、堅持寫作、堅持分享是咔咔從業以來所秉持的信念。願文章在偌大的互聯網上能給你帶來一點幫助,我是咔咔,下期見。


免責聲明!

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



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