shell 中改變路徑問題

2021-05-27 15:30:11 字數 389 閱讀 3237

經常需要切換到乙個常用的目錄,可是路徑又長又難記,想用乙個指令碼進入該目錄,但總是改變不了.......

原因分析:

執行指令碼時,只是在當前的shell下開了乙個子程序,切換目錄的操作只對該程序中相關後續指令有效,但改變不了父程序的目錄。

解決方法:

方法一、用source  a.sh   

方法二、用.  a.sh

簡介:source命令是bash shell 的內建命令。點命令,就是乙個點符號,是source的另一名稱。這兩個命令都以乙個指令碼為引數,該指令碼將作為當前shell的環境執行,即不會啟動乙個新的子程序。所有在指令碼中設定的變數將成為當前shell的一部分。同樣的,當前指令碼中設定的變數也將作為指令碼環境,source(或點)命令通常用於重新執行剛修改的初始化檔案。

mysql路徑改變 mysql更改預設路徑

但是在自己機器上執行報錯,原來是mysql版本的問題,修改後 mysqld initialize user mysql basedir xx mysql 成功。如果有遇到下邊同樣的問題 我的mysql目錄是因為沒授權,另外必須清空basedir xx mysql 目錄才行。然後重新將mysql的資料...

shell 中獲取檔案真實路徑(絕對路徑)

shell 指令碼中,通常會使用相對路徑來做處理,但有時候,我們也許需要用到絕對路徑。在shell怎麼獲取乙個檔案或目錄的絕對路徑呢?也許你會立馬想到realpath 如果你寫過php的話 那麼shell支援這個命令嗎?看一下這裡你就知道了。這個命令並不是總是可用的。其實我們可以使用readlink...

source改變當前路徑

shell 指令碼執行有三種方法 bash 指令碼名 sh 指令碼名 chmod x 指令碼名 使用下面語句測試 a.sh 副檔名可不要 cd pwdecho complete 然而具體執行時候,發現過程中改變過路徑,然而最終結果是並沒有改變路徑。輸出結果 fedora localhost bash...