当我以普通用户身份运行以下命令时,一切正常:
$(dirname `readlink -f $0`)
Run Code Online (Sandbox Code Playgroud)
但是在我切换到root后,出现了以下错误:
readlink: invalid option -- 'b'
Try `readlink --help' for more information.
dirname: missing operand
Try `dirname --help' for more information.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我在本地 Fedora 16 和 Amazon EC2 上尝试过,它们都运行 bash shell。
编辑插图。
很抱歉我没有在这里进一步说明这个问题。这是场景:
使用普通用户帐户:
$ pwd
/home/myuser
$ export MY_DIR=$(dirname `readlink -f $0`)
$ echo MY_DIR
/home/myuser
Run Code Online (Sandbox Code Playgroud)
使用根:
# pwd
/root
# export ROOT_DIR=$(dirname `readlink -f $0`)
readlink: invalid option -- 'b'
Try `readlink --help' for more information.
dirname: missing operand
Try `dirname --help' for more …
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用创建一个守护进程/etc/init.d/myservice
,它将调用包含nohup
在脚本行中的 shell 脚本。
如果以后可以做会不会有影响service stop
?
我启动了一个使用 Node.js 编写的程序,并使用启动管道将其启动到日志文件中并将其发送到后台。
程序运行中途退出,控制台和日志上都没有任何错误,我什至检查了 /var/log/message ,但我无法弄清楚程序出了什么问题。
有没有更好的方法来捕获导致退出的错误/消息?
当前执行的 bash 脚本如下:
./run_all_with_logs >> logs/my.log &
Run Code Online (Sandbox Code Playgroud)