Chinaunix
标题:
CSH crontab问题
[打印本页]
作者:
lsnow8624
时间:
2009-12-11 14:31
标题:
CSH crontab问题
同一台机器一个用户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 编辑
]
作者:
小型机88
时间:
2009-12-11 17:07
不会,顶一下
作者:
hbh231
时间:
2009-12-11 22:16
首先B用户能否自己执行这个sh脚本,如果可以,那就是环境变量设置方面的问题了。
作者:
lsnow8624
时间:
2009-12-12 11:34
标题:
回复 #3 hbh231 的帖子
脚本非常简单,没有调用报错的环境变量,而且试过在脚本里定义环境变量也不可以。b用户手工可以执行该脚本。
打过hp 800,搞不定呢。
[
本帖最后由 lsnow8624 于 2009-12-12 11:39 编辑
]
作者:
hbh231
时间:
2009-12-12 16:14
NPM_HOME: Undefined variable.
这个不是报错么,好好查下用户B的home目录,看权限是否设置正确。
作者:
leelangco
时间:
2009-12-12 17:10
把echo命令的路径带全
作者:
hbh231
时间:
2009-12-12 18:32
LS的建议很有道理,好久没搞SHELL,忘了/
作者:
lsnow8624
时间:
2009-12-13 10:23
标题:
回复 #6 leelangco 的帖子
# 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,测试不成功。
作者:
lsnow8624
时间:
2009-12-13 14:04
查到原因了,b用户的$HOME/.chsrc中的endif位置不对。
谢谢各位回复。
奇怪的是正常登陆的时候没有报错,crontab的时候报错。
[
本帖最后由 lsnow8624 于 2009-12-13 17:21 编辑
]
作者:
leelangco
时间:
2009-12-13 14:15
/usr/bin/echo
作者:
smart_zhaozf
时间:
2009-12-14 16:36
给lz呱唧呱唧
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2