Re: [問題] 請問在bash底下使用cd指令

看板Linux作者 (qqq)時間12年前 (2014/01/20 11:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
您好: 簡單來說,前面的post已經有前輩已經回答使用source可以達到您要的目的。 小弟簡單說明一下背後的原因 執行script 預設的行為會fork一個新的shell 執行您的script,結束後會回到原本環境。 您可以想像從目前command line下執行下面3 個指令是類似的行為。 1. bash 2. cd /tmp 3. exit * 確認方法1 (需要知道什麼是PID和PPID) 1. echo $$ #顯示目前shell PID 2. 寫一個script內容如下 #!/bin/sh echo $$ # 顯示目前script使用的shell PID ps -o pid,ppid $$ # 顯示目前script使用的shell PID和parent ID 3. 執行該shell,觀察1 和2的差別 * 確認方法2 1. 在您的script內 cd後再執行pwd觀察 因此您的行為在新的shell下已經正常執行了,想要讓script影響到目前shell 可以使用source如前所述。詳細情況可以man bash再搜尋source 另外如果您只是要使用script省去打[cd 一堆字串]的方法的話,alias 也是一個 可以參考的方式。 ※ 引述《layumi (虔心向學)》之銘言: : 不好意思 , 小弟是linux新手 , 最近想自己寫個簡單bash shell : 目前執行的bash檔案在/home/123底下 : 想要執行bash檔案之後讓目錄變成 /home/456 [deleted] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.227.236.222 ※ 編輯: robinliao 來自: 61.227.236.222 (01/20 11:07)

01/20 11:23, , 1F
推一個~
01/20 11:23, 1F
文章代碼(AID): #1It9B8Ql (Linux)
文章代碼(AID): #1It9B8Ql (Linux)