2015-10-14 80 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中啓動的,因此您不能將賦值,變量,函數等從一個轉到另一個。