Ruby shell命令评估不适用于别名

时间:2013-11-13 19:16:37

标签: ruby command-line

这有效:

%x{ ls }

但这不是:

%x{ l }其中l是ls。

的别名

任何让它发挥作用的想法?

2 个答案:

答案 0 :(得分:0)

您正在生成一个没有加载别名的非交互式shell,为此您需要

%x{ 
 source /file/with/your/aliases
 shopt -s expand_aliases
 l 
}

其中'/ file / with / your / aliases'经常是〜/ .profile或〜/ .bashrc

答案 1 :(得分:0)

您可以尝试Session gem之类的内容。原因是执行的子shell是受限制的,非交互式的。