Linux下通過Shell指令碼快速進入指定目錄
現在有一個現實的場景:
每一次開啟Linux,都是在 目錄下;
我最近想練習網路的程式碼,所以建立了一個目錄,路徑為:
可以看到,這個路徑很長,如果沒一次都通過cd /home/admin/linex/internet/practice,那太麻煩了!
那麼如果應用到Shell指令碼,把這個指令寫入指令碼,再執行它不就可以了嗎?
試一試就知道了,見名知意,我把該指令碼命名為goto.sh:
接下來執行它:
發現並沒有進入指定路徑,因為Shell會fork一個子程序,子程序通過exec執行程式,具體細節我在之前有講到,附連結:https://blog.csdn.net/han8040laixin/article/details/81141566
那麼有沒有什麼指令,能夠讓父bash親自執行呢?
答案是有的,用 . 或 source 修飾指令碼就可以!
可以看到,當我用source修飾指令碼時,路徑發生了改變,父bash親自執行了命令。
接下來只要把goto檔案放入path中,直接執行source goto,就可以進入指定路徑了:
現在不論是在那個目錄下,都可以快速進入指定的目錄。
相關推薦
Linux下通過Shell指令碼快速進入指定目錄
現在有一個現實的場景: 每一次開啟Linux,都是在 目錄下; 我最近想練習網路的程式碼,所以建立了一個目錄,路徑為: 可以看到,這個路徑很長,如果沒一次都通過cd /home/admin/linex/internet/practice,那太麻煩了!
Linux下通過shell進MySQL執行SQL或匯入指令碼
這條命令表示通過使用者名稱和密碼執行shell然後在shell裡面執行一個建表語句: USER="root" PASS="root" mysql -u $USER -p$PASS <<EOF 2> /dev/null CREATE DATABASE um; EOF 下面的命令在登陸My
linux下使用shell指令碼開啟多個terminal並在其中執行程式的方法
gnome-terminal(是一種模擬終端器,一說是ubuntu的terminal就叫gnome-terminal)命令用於開啟一個新的終端,直接在命令列 $ gnome-terminal 就可以開啟一個新的終端,有一些常用引數: 開啟後自動最大化 $ gnome-terminal --maxim
linux下使用shell指令碼獲取終端寬度
獲取終端大小時候的學習 學習日期:2018/11/3 問題來源: 在寫shell指令碼時想輸出一行佔滿整個終端螢幕寬度的 橫槓 發現for迴圈會導致執行緩慢 解決方法: 使用yes 命令 sed '50q' 顯示50行 tr -d '\n' 刪除 \n 多次重複輸入相同字元可用yes yes "
Linux Centos7通過shell指令碼來監控mysql的執行狀態
vim checkmysql.sh #!/bin/sh #create by mingongge at 2018-10-10 port=`netstat -lnt|grep 3306|wc -l` if [ $post -ne 1 ] ;then now
linux下的shell指令碼
Linux下的shell指令碼 Shell是一種指令碼語言,那麼,就必須有直譯器來執行這些指令碼,常見的指令碼直譯器有: bash:是Linux標準預設的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shel
Linux下使用shell指令碼自動執行指令碼檔案
一、定時複製檔案 a、在/usr/local/wfjb_web_back目錄下建立 tomcatBack.sh檔案 檔案內容: ? 1 2 #將tomcat中的應用wfjb_web 複製到 /usr/local/wfjb_web_bac
linux 下的shell 指令碼基礎與變數
一、shell 指令碼基礎知識 在電腦科學中,Shell俗稱殼(用來區別於核),是指“為使用者提供操作介面”的軟體(命令解析器)。它類似於DOS下的command.com和後來的cmd.exe。它接收使用者命令
linux下的shell指令碼--------轉
先說明以下內容來自: http://c.biancheng.net/cpp/shell/ ,C語言中文網,請大家支援原作,點選連結檢視。 我寫下來只是作為筆記,如果侵權,請留言,立馬刪除。 Shell是一種指令碼語言,那麼,就必須有直譯器來執行這些指令碼,常見的指令碼直譯
二十八、linux下的shell指令碼(基本)
先說明以下內容來自: http://c.biancheng.net/cpp/shell/ ,C語言中文網,請大家支援原作,點選連結檢視。 我寫下來只是作為筆記,如果侵權,請留言,立馬刪除。 Shell是一種指令碼語言,那麼,就必須有直譯器來執行這些指令碼,常見的指令碼直譯器有:
Linux下通過shell獲取網絡卡的ip地址和mac地址
ip=`ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'` mac=`ifconfig | grep HWaddr | awk -F" " '{print $5}'` 轉自:http://blog.csdn.
Linux下使用shell指令碼自動監控重啟tomcat
自己親自重新寫了一份shell指令碼,實現自動監控重啟tomcat。 系統環境:CentOS 6.7 x86_64 jdk版本:1.7.0_80 tomcat版本:7.0.70 # ------
linux下的shell指令碼編寫
下面我參考網上寫的較好的文章,加上自己的一點理解修改。僅供看家參考。 Shell是一種具備特殊功能的程式,它是結語使用者和UNIX/Linux作業系統核心程式(kernel)之間的一個介面。是為了遮蔽核心的複雜性,也為了保護核心以免使用者誤
Linux下用shell指令碼for迴圈新增使用者
#!/bin/bash for name in $(more users.list) do if [ -n "$name" ];thenuseradd -m $name echoecho $name"123" | passwd --stdin "$name" echoech
linux中通過shell指令碼複製檔案,並用時間戳命名
其中/var/log/ha/ha.log該檔案是被複制檔案,var/log/ha/log/$currentTimeStamp時間戳生成的檔案複製的檔案,/var/log/ha/cp_info.log是實行本shell的操作記錄,同時本currentTimeStamp時間戳是長
Linux下通過EXPECT指令碼自動執行ssh遠端連線
由於經常需要從家裡連到實驗室的機器,但是中間需要一箇中轉,於是就需要連續兩次進行ssh操作以及輸入密碼。加上家裡網路不穩,經常會斷,就又得重新登入。輸入那麼一長串的東西特別麻煩。於是覺得應該寫一個指令碼來自動登入,這樣就可以帶來極大的方便。 1 expec
Linux下執行Shell指令碼
Linux下可以用兩種方式執行Shell指令碼: 1、用shell程式執行指令碼:根據你的shell指令碼的型別,選擇shell程式,常用的有sh,bash,tcsh等。一般來說,第一行#!/bin/bash裡面指明瞭shell型別的,比如#!/bin/bash指明是bas
SHELL指令碼 移動mv指定目錄中的所有檔案到其他目錄
遞迴寫的,不太好看,反正能用,多擔待 #!/bin/bash function func { for name in $1* do if [ -d "$name" ] then # echo "$name is a d" func $name/ $2 $p elif
Linux系統下編寫shell指令碼傳入引數列印系統當前執行緒數到指定檔案
最近在做效能測試,要檢視系統執行過程中執行緒數,很簡單輸入命令:netstat -anp |grep java |wc -l,可以查詢。但是如何在執行過程定時列印系統執行緒數且將結果輸出到指定檔案呢?也很簡單我們直接寫一個shell指令碼執行下就可以了。以
Linux shell指令碼快速提升的祕訣
Linux shell指令碼快速提升的祕訣 阿銘linux 51CTO 51CTO 微訊號 功能介紹 51CTO傳媒是專注於IT技術創新與發展的網際網路媒體平臺。51CTO傳媒就以“專注IT技術領域,打造中國領先的IT技術網路平臺”為宗旨。 9月29日 大家好,我是阿