[i=s] 本帖最后由 qq22049023 于 2010-9-17 16:26 编辑 [/i]
a.sh
内容如下
#!/bin/bash
$then ="abc"
service mysqld restart
#/etc/init.d/mysql start
~
为什么我用crontab执行这个sh 文件的时候提示
/root/reboot.sh: line 2: =abc: command not found
/root/reboot.sh: line 3: service: command not found
可是单单一个reboot的命令又能执行
我直接在命令窗口直接sh a.sh就可以执行
这是什么原因?
qq22049023 于 2010-09-17 15:13:14发表:
[i=s] 本帖最后由 qq22049023 于 2010-9-17 15:21 编辑 [/i]
/etc/init.d/mysql start 提示没有这个文件
/etc/init.d/mysql这个是绝对路径
下面这两个命令都没问题
echo "hello"
mv /var/samba/1.raw /root/1.raw
不过还是谢谢楼上几位
相思爱文 于 2010-09-17 13:19:19发表:
变量的定义和赋值方法,见 3# sauntor 楼。
为了使脚本通用,如果不使用绝对路径,那么在开头加上一行
PATH=******* (把*****换成路径)
这样就不会找不到命令了
以#开头的内容是注释,不执行的。
把最后一行的#去掉,而把倒数第二行注释掉,试试能不能进行。
检查脚本,在相同环境变量下,可把每行在终端单独运行。
linuxcn 于 2010-09-17 10:55:11发表:
#!/bin/bash
$then ="abc"
=>
then ="abc"
service mysqld restart
=>
/sbin/service mysqld restart
#/etc/init.d/mysql start
qq22049023 于 2010-09-17 08:05:29发表:
脚本的名字就是a.sh;
那个service mysqld start 这个为什么会提示
我用sh a.sh的时候会运行service mysqld start
放在crontab里就提示service: command not found
我单单输一行reboot的时候会重启,
用/etc/init.d/mysql start时也提示:
/etc/init.d/mysql: No such file or directory
我在ssh窗口直接输入/etc/init.d/mysql start可以运行的
sauntor 于 2010-09-17 00:06:33发表:
脚本变量应当这样定义,str_1="Good Night!";不能加美元符,即不能这样定义: $a="Go!"; q):-s
相思爱文 于 2010-09-16 23:31:35发表:
[i=s] 本帖最后由 相思爱文 于 2010-9-16 23:33 编辑 [/i]
请楼主先说明一下脚本的名字,并解释下每行的意思好吗?
最好列出脚本全部内容,和脚本要实现什么目的。
脚本写法有误