我可能做了一些非常愚蠢的事情,但我不知道是什么。
在云主机(如果重要的话,是 Digital Ocean)上运行 Ubuntu Server 12.04。所有 shell 脚本都什么都不做,只是立即返回提示,没有错误、警告,甚至没有竖中指。
start-stop-daemons 脚本不会从带有“./script-name”的命令行运行,而不仅仅是 cron
执行位被设置
shell 是 /bin/bash
用户是root
尝试将 #!/bin/sh 更改为 #!/bin/bash
尝试不使用 dash by
dpkg-reconfigure dash
脚本正在被解析——如果我将其编辑为非法内容,就会出现错误
没有主意了……
是不是有什么原因导致我看不到输出?
答案1
尝试调试 shell 脚本,方法如下
将其放在 #!/bin/bash 行之后
logfile=/tmp/script.log
exec > $logfile 2>&1
然后从 shell 提示符下使用此命令执行脚本。
# bash -x script-name.sh
看看接下来会发生什么,检查脚本中写的命令是否正在执行。
还使用此命令仔细检查路径。
echo $PATH