看板 Linux 關於我們 聯絡資訊
Linux之神的鳥哥,在基本第十一章介紹自定變數與環境變數的差別是一個不能 給子程式使用,另一個可以,而且他說明"在一個Bash底下的任何指令"都是新 的子程式",照他這麼說我感覺怪怪的。 your_path=~/test //自定變數路徑 cd ${your_path} //可以切換目錄到test 既然第二個指令是子程式(新的shell),那他應該看不到這your_path變數阿 第一行的指令應該要export your_path=~/test變成環境變數才對阿!?可是上面 指令卻行得通...為何?是我理解錯誤?這也與我前幾小時問的makefile問題相關.. 謝謝前輩。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.155.200
jokester:cd是shell builtin 12/22 20:13
gn00618777:意思是說他是內建在bash中的?除非是額外指令才是呼叫 12/22 20:19
gn00618777:其他shell囉? 12/22 20:20
ah7675:child process 是複製parent來的 但child改變不會反應回去 12/22 20:29
cybelia:欸.. 第二行其實即使cd是外部程式,shell也會幫你把變數 12/22 20:33
cybelia:展開以後再餵給cd,他不需要看得見這個變數呀 XD 12/22 20:33
jokester:對喔="= 我也混亂了. 這兩行的變數展開是當前shell做的 12/22 20:45