linux命令行在任意目錄下啟動任意的腳本的方法

  • 目錄:
    • 前言:
    • 1、直接在命令行中設置PATH
    • 2、在profile中設置PATH
    • 3、在當前用戶的profile中設置PATH

目錄:

前言:

這應該算是一個常識吧,但是對于許多像我們這樣的新手來說,一旦你出點小差錯,整個過程就會很曲折。碰巧今天就遇到了這樣的問題。
下面是查過資料后總結的解決方法:

簡單說PATH就是一組路徑的字符串變量,當你輸入的命令不帶任何路徑時,LINUX會在PATH記錄的路徑中查找該命令。有的話則執行,不存在則提示命令找不到,也就是我們經常看到的-bash: ***: command not found。比如在根目錄/下可以輸入命令ls,在/usr目錄下也可以輸入ls,但其實ls命令根本不在這個兩個目錄下,當你輸入ls命令時LINUX會去/bin,/usr/bin,/sbin等目錄尋找該命令。而PATH就是定義/bin:/sbin:/usr/bin等這些路勁的變量,其中冒號為目錄間的分割符。使用export $PATH命令可以查看環境變量的內容。

如何自定義路徑:
假設你新編譯安裝了一個apache在/usr/local/apache下,你希望每次啟動的時候不用敲一大串字符(# /usr/local/apache/bin/apachectl start)才能使用它,而是直接像ls一樣在任何地方都直接輸入類似這樣(# apachectl start)的簡短命令。這時,你就需要修改環境變量PATH了,準確的說就是給PATH增加一個值/usr/local/apache/bin。將/usr/local/apache/bin添加到PATH中有三種方法:

1、直接在命令行中設置PATH

# PATH=$PATH:/usr/local/apache/bin

使用這種方法,只對當前會話有效,也就是說每當登出或注銷系統以后,PATH設置就會失效。

2、在profile中設置PATH

# vi /etc/profile

找到export行,在下面新增加一行,內容為:

export PATH=$PATH:/usr/local/apache/bin

注:= 等號兩邊不能有任何空格。這種方法最好,除非手動強制修改PATH的值,否則將不會被改變。
編輯/etc/profile后PATH的修改不會立馬生效,如果需要立即生效的話,可以執行# source profile命令。
其次對于profile來說一定要注意整個編輯的過程,一旦你輸入一些格式不正確的文本(如把windows編碼的文本復制過來),就會造成profile文件無法正常解析等錯誤。

3、在當前用戶的profile中設置PATH

 vi ~/.bash_profile

修改PATH行,把/usr/local/apache/bin添加進去,如:

PATH=$PATH:$HOME/bin:/usr/local/apache/bin。
# source ~/.bash_profile

讓這次的修改生效。
注:這種方法只對當前用戶起作用的,其他用戶該修改無效。

去除自定義路徑:
當你發現新增路徑/usr/local/apache/bin沒用或不需要時,你可以在以前修改的/etc/profile或~/.bash_profile文件中刪除你曾今自定義的路徑。

除此之外,打開prifile文件,你會發現內部邏輯是先對幾個路徑下的變量進行檢索如/bin:/sbin:/usr/bin,如下圖所示
這里寫圖片描述
但是一旦你在編輯profile文件的時候,一不小心,你就會發現很多“可怕”的錯誤,比如linux的基本指令都用不了等等。 所以對于有些你已經配置了Path變量,執行相關命令卻未生效時,你就需要留意下,是不是你的profile文件出了問題,今天就莫名中招了,如下圖所示:
這里寫圖片描述
在PATH下聲明了HIVE,但是最后輸出環境變量的時候卻發現沒有包含對應的Hive的地址,導致最終執行hive命令時無效,最后將Hive單獨聲明出來問題就解決了,我也是很郁悶這是什么情況…

參考:https://www.cnblogs.com/leibg/p/4479921.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456516.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456516.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456516.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云centos 安裝和配置 DokuWiki

DokuWiki 是一個開源的 wiki 項目, 可方便進行知識和內容的管理和分享,不用安裝數據庫,內置權限管理,書寫直觀方便,有大量的插件支持。特別適用于企業內部的內容和知識管理,只允許內部員工編輯和查閱的場景…

python-爬蟲

網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬…

MySQL5.7升級到8.0 之后,配合ubantu18.04遇到的常規問題以及非常規問題的解決方案

從MySQL5.7升級到8.0后首先會發現在創建用戶和授權大大不同;其次還有更多常規問題以及非常規問題的解決方案 寫本篇博客記錄踩過的坑 MySQL8.0配合ubantu18.04 一、創建用戶和授權 在mysql8.0創建用戶和授權和之前不太一樣了,其實嚴格上來講&#xf…

機器學習之數理統計與參數估計的相關知識總結

文章目錄目錄:1、知道期望/方差/偏度/峰度,獨立和不相關等概念是什么。2、契比雪夫不等式3、大數定理/中心極限定理4、伯努利定理5、矩估計6、最大似然估計7、協方差和相關系數目錄: 1、知道期望/方差/偏度/峰度,獨立和不相關等概…

Angular屬性型指令

2019獨角獸企業重金招聘Python工程師標準>>> 屬性型指令 — 改變元素、組件或其它指令的外觀和行為的指令 屬性性指令的創建步驟如下: import語句需要從 Angular 的core庫導入的一些符號。 Directive提供Directive裝飾器功能。 ElementRef注入到指令構造…

beeline連接hiveserver2報錯:User: root is not allowed to impersonate root

最近在生產中搭建HA機制的集群,碰到不少坑,會在接下來的時間里好好總結下,先說下遇到的一個大坑。我們的需求是:希望通過hive的thrift服務來實現跨語言訪問Hive數據倉庫。但是第一步,你得需要在節點中打通服務器端&…

局域網 兩臺電腦共享 密碼關閉

轉載于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/6832463.html

MySQL查詢select語句詳解

1.查詢記錄 select*from 表名 [where 條件];eg:select*from students;//查詢 students 表中所有記錄,所有字段的值都顯示出來select field1,field2,...fieldn... from 表名 [where 條件];eg:select id,name,age from students;//查詢 students 表中所有記錄, 只顯示…

SVN使用規范

轉載于:https://www.cnblogs.com/shenxiaolin/p/6296880.html

配置hiveserver2訪問hive

目錄:1、前言2、beeline相關的Server.Thrift配置3、啟動beeline并訪問Hive4、期間遇到的問題和解決方法 目錄: 1、前言 作為數據倉庫的工具,hive提供了兩種ETL運行方式,分別是通過Hive 命令行和beeline客戶端; 命令…

通過rhel7的kvm虛擬機實現3節點Postgres-XL(包括gtm standby)

關于postgres-xl的實驗是在我自己筆記本rhel7.2_x64的環境下,用kvm實現的,總共有6臺虛擬機: 一臺openfiler2.99發布共享存儲,一臺gtm master,一臺gtm slave,三臺gtm_proxy/coordinator/datanode&#xf…

MySQL查詢select實例 【筆記】

use mydb; select * from EMP; select * from DEPT; select DISTINCT JOB from EMP; -- distinct 去除重復項 select MGR from EMP; select MGR as 主管編號 from EMP; -- 輔助查詢,每列信息 起別名 as select EMPNO as 員工編號,JOB as 職位,DEPNO as 部…

C#1

轉載于:https://www.cnblogs.com/qingwengang/p/6327371.html

使用python3連接hiveserver2的方法

前言:1、啟動HiveServer22、在Linux中安裝impyla(前提是安裝Python相關的環境、虛擬環境(可選)) 前言: 需求:需要通過windows端的pycharm來操作hive。 于是就搜集資料尋找解決方案。 大概有…

vue2.X的路由

以 / 開頭的嵌套路徑會被當作根路徑。 <router-link> 在vue-router1.X中是以<a v-link""></a>存在的 里面的參數&#xff1a; to&#xff1a;代表跳轉的目的地&#xff0c;渲染成<a href""> 后面目的地有下面幾種表示法 to引導&a…

mysql啟動和關閉外鍵約束的方法(FOREIGN_KEY_CHECKS)

在MySQL中刪除一張表或一條數據的時候&#xff0c;出現 [Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails (...) 這是因為MySQL中設置了foreign key關聯&#xff0c;造成無法更新或刪除數據。可以通過設置FOREIGN_KEY_CHECKS變量來避免這種…

CentOS下安裝VirtualEnv的教程

文章目錄前言&#xff1a;1、下載安裝virutalenv2、安裝新的Python版本&#xff08;可以直接安裝anaconda&#xff1a;安裝過程可自行查資料&#xff09;3、 VirtualEnv的設置4、Python虛擬環境的作用總結&#xff1a;前言&#xff1a; 在目前的Linux系統中&#xff0c;默認使…

社保(五險一金)的問題

2019獨角獸企業重金招聘Python工程師標準>>> 社保&#xff0c;全稱為社會保險&#xff0c;是一種再分配制度&#xff0c;它的目標是保證物質及勞動力的再生產和社會的穩定。我們平時常說的社保&#xff0c;還有另一個名稱&#xff0c;及“五險一金”。那么社保是哪五…

PKM(個人知識管理)類軟件收集(偶爾更新列表)

evernote(印象筆記) Wiz 有道云 麥庫 leanote GoogleKeep OneNote SimpleNote(wp家的&#xff0c;免費) pocket(稍后讀的軟件&#xff0c;同類的還有Instapaper&#xff0c;國內的收趣) MyBase RaysNote(v友開發) CintaNotes https://jitaku.io 開源 Gitit-Bigger Laverna pape…

MySQL中外鍵的定義、作用、添加和刪除

1 簡介 在實際開發的項目中&#xff0c;一個健壯數據庫中的數據一定有很好的參照完整性。例如學生檔案和成績單兩張表&#xff0c;如果成績單中有張三的成績&#xff0c;學生檔案中張三的檔案卻被刪除了&#xff0c;這樣就會產生垃圾數據或者錯誤數據。為了保證數據的完整性&a…