2015-10-14 81 views
0

的命令得到错误没有找到与外壳

!command Execute the shell command with $SHELL. 

我有一个别名pbcopy='nc localhost 2224'

我测试过,但得到

!pbcopy 
/bin/bash: pbcopy: command not found 
!done (press RETURN) 

我试了一下

  1. 放入.bas中的别名h_profile,.bashrc,.profile,它们都不起作用
  2. !source .bash_profile in less。不工作
  3. !alias pbcopy='nc localhost 2224'

我真的需要一些帮助来理解这一点。

回答

1

别名不是命令。

你的shell可能不会加载它们。

如果它加载它们,它们在默认情况下在非交互式shell中不可用,所以如果没有明确地打开别名,它们仍然不起作用。

要么创建一个外壳函数或作为您的$PATH中的shell脚本。

几乎可以肯定的情况是,每个!cmd调用都是在一个新的shell中启动的,因此您不能将赋值,变量,函数等从一个转到另一个。