这个问题困扰了我一段时间:我想使用奇妙的 GNUwatch
命令来运行在我的 .bashrc 中定义的一些自定义别名和函数,但它无法运行除了 bash 内置程序或二进制文件之外的任何东西。
watch -d foo
输出始终是:foo: command not found
我怎样才能让它继承我的环境或使用.bashrc?
谢谢。
答案1
执行类似这样的操作,watch bash -i -c 'alias -p'
这将调用 bash,加载你的设置,然后运行你在之后拥有的任何命令-c
答案2
从man watch
:
注意命令是给“sh -c”
所以它不会看到你的 Bash 别名和函数。