Bash 通过crontab运行xterm

Bash 通过crontab运行xterm,bash,crontab,xterm,Bash,Crontab,Xterm,$*/1****xterm-显示:0-按住-e'哪个xterm' 将同时弹出两个xterm窗口,为什么 $*/1****xterm-display:0-hold-e'/home/name/bin/scriptaaa' 效果很好 $*/1****xterm-display:0-hold-e'scriptaaa' 未找到命令,原因是什么 $哪个xterm /usr/bin/xterm 因为您明确要求,第一次是作为crontab执行命令,第二次是在xterm执行的命令中 嗯 选中$PATH。通常cro

$
*/1****xterm-显示:0-按住-e'哪个xterm'

将同时弹出两个xterm窗口,为什么

$
*/1****xterm-display:0-hold-e'/home/name/bin/scriptaaa'

效果很好

$
*/1****xterm-display:0-hold-e'scriptaaa'

未找到命令,原因是什么

$
哪个xterm

/usr/bin/xterm

  • 因为您明确要求,第一次是作为crontab执行命令,第二次是在xterm执行的命令中
  • 选中
    $PATH
    。通常crontab不会继承用户的环境,因此
    $HOME/bin
    不在
    $PATH

  • 您确定“which xterm”在单引号中而不是在反勾中吗?而且
    /1
    是多余的。是的,单引号。and/1不是必需的您的意思是“哪个xterm”是特殊的
    哪个xterm
    可以在xterm本身中正常运行。xterm的路径位于
    $path
    中。我不知道为什么
    /home/name/bin
    中的脚本无法识别。很多人都注意到了这一点@xterm可能会继承路径,但它不是从定义了路径的shell运行的,而是从没有继承它的crontab运行的。您可以在crontab中指定PATH=/home/name/bin/,它可能会工作。没有任何更改。它仍然是
    命令未找到
    $crontab-e$
    ***export PATH=“/home/name/bin:$PATH”
    No,“哪个xterm”并不特别,实际上它完全执行它应该执行的操作(prints/usr/bin/xterm)。但当我第一次看到这个问题时,命令似乎是
    哪个xterm
    ,它显然是按其完整路径运行xterm的。如果您确定在命令行中没有
    s
    ,但仍然同时得到两个xterm,那么这确实很奇怪。您可以将
    -title“$date”
    添加到xterm选项中,以查看这些xterm是否立即运行