CSH crontab问题

发布于 2022-08-23 16:04:34 字数 454 浏览 21 评论 9

同一台机器一个用户a可以执行crontab程序,另一个用户b不能执行crontab。
两个用户的shell都是csh,/var/adm/cron/cron.allow中已经配置b用户执行crontab权限。
b用户的家目录下的.profile文件和/etc/passwd文件确认正确。
b用户crontab -l如下:
58 * * * * /tmp/npm.sh 1>/tmp/npm.log 2>&1
运行报错信息:stty: : Not a typewriter
NPM_HOME: Undefined variable.
npm.sh脚本内容如下:
#!/usr/bin/csh
echo 000

哪位高手帮忙支招,谢谢!

[ 本帖最后由 lsnow8624 于 2009-12-11 15:51 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

伴梦长久 2022-09-02 05:44:41

/usr/bin/echo

李白 2022-09-02 05:42:56

查到原因了,b用户的$HOME/.chsrc中的endif位置不对。
谢谢各位回复。

奇怪的是正常登陆的时候没有报错,crontab的时候报错。

[ 本帖最后由 lsnow8624 于 2009-12-13 17:21 编辑 ]

小嗷兮 2022-09-02 05:40:18

# man echo

echo(1)                                                             echo(1)

NAME
      echo - echo (print) arguments

SYNOPSIS
      echo [arg] ...

DESCRIPTION
      echo writes its arguments separated by blanks and terminated by a
      new-line on the standard output.  It also understands C-like escape
      conventions; beware of conflicts with the shell's use of :

echo的路径是:?
我用echo的意思是不调用任何环境变量,测试是否还会报NPM_HOME没有设置。crontab执行时默认只调用$home $LOGNAME $PATH $SHELL有限的几个环境变量。我没有调用任何自定义环境变量的情况下为什么还报NPM_HOME没有设置呢?奇怪啊。

另回复5楼
NPM_HOME和B用户的$HOME是一致的,且A、B用户的$HOME权限相同。奇怪的是A用户的crontab可以执行,新建一个C用户也可以。只有B用户的crontab执行不了。同时测试过将A用户$/HOME/.profile文件覆盖至B用户$/HOME/.profile,测试不成功。

自由如风 2022-09-02 05:40:08

LS的建议很有道理,好久没搞SHELL,忘了/

漫雪独思 2022-09-02 04:32:53

把echo命令的路径带全

浅语花开 2022-09-01 17:33:51

NPM_HOME: Undefined variable.

这个不是报错么,好好查下用户B的home目录,看权限是否设置正确。

Spring初心 2022-08-31 21:28:05

脚本非常简单,没有调用报错的环境变量,而且试过在脚本里定义环境变量也不可以。b用户手工可以执行该脚本。
打过hp 800,搞不定呢。

[ 本帖最后由 lsnow8624 于 2009-12-12 11:39 编辑 ]

檐上三寸雪 2022-08-31 20:31:45

首先B用户能否自己执行这个sh脚本,如果可以,那就是环境变量设置方面的问题了。

花想c 2022-08-31 08:14:45

不会,顶一下

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文