作者gn00618777 (非常念旧)
看板Linux
标题[问题] 自定变数与环境变数
时间Sun Dec 22 20:02:36 2013
Linux之神的鸟哥,在基本第十一章介绍自定变数与环境变数的差别是一个不能
给子程式使用,另一个可以,而且他说明"在一个Bash底下的任何指令"都是新
的子程式",照他这麽说我感觉怪怪的。
your_path=~/test //自定变数路径
cd ${your_path} //可以切换目录到test
既然第二个指令是子程式(新的shell),那他应该看不到这your_path变数阿
第一行的指令应该要export your_path=~/test变成环境变数才对阿!?可是上面
指令却行得通...为何?是我理解错误?这也与我前几小时问的makefile问题相关..
谢谢前辈。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.155.200
1F:→ jokester:cd是shell builtin 12/22 20:13
2F:→ gn00618777:意思是说他是内建在bash中的?除非是额外指令才是呼叫 12/22 20:19
3F:→ gn00618777:其他shell罗? 12/22 20:20
4F:→ ah7675:child process 是复制parent来的 但child改变不会反应回去 12/22 20:29
5F:→ cybelia:欸.. 第二行其实即使cd是外部程式,shell也会帮你把变数 12/22 20:33
6F:→ cybelia:展开以後再喂给cd,他不需要看得见这个变数呀 XD 12/22 20:33
7F:→ jokester:对喔="= 我也混乱了. 这两行的变数展开是当前shell做的 12/22 20:45