請問在bash底下使用cd指令 - Linux

Genevieve avatar
By Genevieve
at 2014-01-20T11:06

Table of Contents

您好:
簡單來說,前面的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]

--
Tags: Linux

All Comments

Christine avatar
By Christine
at 2014-01-24T23:34
推一個~

網樂通XBMC與遙控操作

Lauren avatar
By Lauren
at 2014-01-20T10:07
Hi, all, demo 影片: http://goo.gl/01TpWh 目前網樂通硬解的部分大致上已經有解了 由開發社團成員 Power Li 將之前 porting的pdk7105 kernel 放到tdt duckbox裡, 即可編出硬解的驅動與xbmc 另外也有其他播放介面enigma2 ...

請問在bash底下使用cd指令

Freda avatar
By Freda
at 2014-01-20T02:47
※ 引述《layumi (虔心向學)》之銘言: : 不好意思 , 小弟是linux新手 , 最近想自己寫個簡單bash shell : 目前執行的bash檔案在/home/123底下 : 想要執行bash檔案之後讓目錄變成 /home/456 : 因此內容寫成 : #!/bin/bash : cd /home ...

請問在bash底下使用cd指令

Enid avatar
By Enid
at 2014-01-19T23:02
※ 引述《layumi (虔心向學)》之銘言: : 不好意思 , 小弟是linux新手 , 最近想自己寫個簡單bash shell : 目前執行的bash檔案在/home/123底下 : 想要執行bash檔案之後讓目錄變成 /home/456 : 因此內容寫成 : #!/bin/bash : cd /home ...

請問在bash底下使用cd指令

Ivy avatar
By Ivy
at 2014-01-19T22:48
不好意思 , 小弟是linux新手 , 最近想自己寫個簡單bash shell 目前執行的bash檔案在/home/123底下 想要執行bash檔案之後讓目錄變成 /home/456 因此內容寫成 #!/bin/bash cd /home/456 結果跑完之後路徑還是在 /home/123 請問我 ...

kernel不支援的平台能使用嗎?

Lucy avatar
By Lucy
at 2014-01-19T19:10
我最近才開始把網樂通挖出來照前人的心血結晶改裝,但有點我不明白, STLINUX 2.3有支援網樂通板子pdk7105,而2.4版就不支援pdk7105了。 但是派樂靈丹TWPDA釋出的sh4twbox 0.9.2是stlinux 2.4,這樣不是 應該不能使用嗎?請問這是怎麼辦到的? -- 起初,他們追 ...