用测试机写了上传脚本,加入crontab中始终不执行:
#!/bin/sh
ftp -n <<!
ftp -n <<!
而改成:/usr/bin/ftp -n<<!则正常工作
查找ftp:
[root@linuxtest ~]# ls /usr/kerberos/bin/ftp
/usr/kerberos/bin/ftp
/usr/kerberos/bin/ftp
[root@linuxtest ~]# ls /usr/bin/ftp
/usr//bin/ftp
有两个可执行的ftp,再查看定义的变量:
[root@linuxtest ~]# echo $PATH
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
[root@linuxtest ~]# echo $PATH
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
发现/usr/kerberos/bin在/usr/bin/之前,所以脚本中ftp -n <<! 的ftp实际上成为了usr/kerberos/bin/ftp,所以不能执行
可是其他机器我就只写了ftp -n <<!,并发现PATH和上面定义的一样,但是是可以执行的。郁闷.....