OSX:这从命令行工作:
alias ruby="/opt/local/bin/ruby1.9"
但是在一个shell脚本中,它没有效果。我想写一个脚本,将在ruby 1.8和ruby 1.9之间切换,所以这需要一个脚本 – 不在我的个人资料。
它看起来“源script.sh”工作,但“./script.sh”。为什么是这样?如何在我的脚本中复制这个?
./script.sh将在子shell中执行,所做的更改只适用于子shell。一旦命令终止,子shell进行,所做的更改。
源文件使用。 ./script.sh或source ./script.sh将从当前shell上下文中的file-name参数读取和执行命令,即当使用源运行脚本时,在现有shell中运行脚本,创建或修改任何变量通过脚本将在脚本完成后保持可用。