Re: [問題] 自定變數與環境變數

看板Linux作者 (蠻王科科)時間12年前 (2013/12/22 20:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
我的理解是這樣: shell的指令有些會fork出子進程來實行 有些就在本shell實行 會fork的: - 外部程式 - 用&實行的shell指令 不會fork的: - "正常的" shell指令 我把你寫的兩行叫做例1. 例1是不會fork的一型 對於會fork的那些, 才有環境變數有沒有經過export的區別 例2: 子進程可以看到經export的變數 $ export a=1 $ bash -c 'echo $a' => 1 例3: 子進程看不到未經export的變數 $ b=1 $ bash -c 'echo $b' => (空白) ※ 引述《gn00618777 (非常念舊)》之銘言: : Linux之神的鳥哥,在基本第十一章介紹自定變數與環境變數的差別是一個不能 : 給子程式使用,另一個可以,而且他說明"在一個Bash底下的任何指令"都是新 : 的子程式",照他這麼說我感覺怪怪的。 : your_path=~/test //自定變數路徑 : cd ${your_path} //可以切換目錄到test : 既然第二個指令是子程式(新的shell),那他應該看不到這your_path變數阿 : 第一行的指令應該要export your_path=~/test變成環境變數才對阿!?可是上面 : 指令卻行得通...為何?是我理解錯誤?這也與我前幾小時問的makefile問題相關.. : 謝謝前輩。 -- 祖祖 拎北不做人啦! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.160.120.147
文章代碼(AID): #1IjjtSbR (Linux)
文章代碼(AID): #1IjjtSbR (Linux)