0

尝试在两台机器上运行 IF 语句-

1.SunOS 5.8 Generic_Virtual sun4u sparc SUNW,Sun-Fire-V240 (bash)

2.SunOS 5.10 Generic_127112-11 i86pc i386 i86pc (tcsh)

我从 shell 运行的命令 -

如果(回声 13 | grep -w date +%e>/dev/null);然后回显“现在”;菲

它在机器 1 上运行良好。但在机器 2 上出现以下错误(tcsh)-

if:表达式语法。

如何在 tcsh 中纠正这个问题?我需要从 crontab 文件中运行它-

30 09 * * * 如果(回声 13 | grep -w date +%e>/dev/null);然后回显“现在”;菲

4

2 回答 2

0

您可能在这些机器上使用不同的 shell,这可以解释语法错误。您在代码中使用子shell,在不同的shell 上可能有不同的语法。

另请注意,您将 echo 的标准输出重定向到 /dev/null,因此无论如何您都看不到任何东西。

于 2012-11-13T16:17:20.310 回答
0

/bin/sh无论您的登录 shell 是什么,您的 cron 作业都将在 下运行。

要从命令行运行它,只需先启动/bin/sh(或者,如果您愿意,可以/bin/bash)。

于 2012-12-15T14:05:07.787 回答