在less和shell中找不到命令的错误

时间:2015-10-14 13:20:08

标签: shell command localhost

根据较少的手册,

!command Execute the shell command with $SHELL.

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

我测试了但是得到了

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

我尝试了什么

  1. 将别名放在.bash_profile,.bashrc,.profile中,其中没有一个可以正常工作
  2. !source .bash_profile in less。
  3. !alias pbcopy='nc localhost 2224'
  4. 我真的需要一些帮助来理解这一点。

1 个答案:

答案 0 :(得分:1)

别名不是命令。

你的shell可能没有加载它们。

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

将其创建为shell function 或在$PATH中创建shell脚本。

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