小编d4v*_*v00的帖子

$(dirname `readlink -f $0`) 中的奇怪行为

当我以普通用户身份运行以下命令时,一切正常:

$(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)

bash

12
推荐指数
1
解决办法
2万
查看次数

在 /etc/init.d/service 使用 nohup

我一直在尝试使用创建一个守护进程/etc/init.d/myservice,它将调用包含nohup在脚本行中的 shell 脚本。

如果以后可以做会不会有影响service stop

shell-script services daemon

6
推荐指数
2
解决办法
1万
查看次数

无法捕获程序退出

我启动了一个使用 Node.js 编写的程序,并使用启动管道将其启动到日志文件中并将其发送到后台。

程序运行中途退出,控制台和日志上都没有任何错误,我什至检查了 /var/log/message ,但我无法弄清楚程序出了什么问题。

有没有更好的方法来捕获导致退出的错误/消息?

当前执行的 bash 脚本如下:

./run_all_with_logs >> logs/my.log &
Run Code Online (Sandbox Code Playgroud)

shell io-redirection exit

4
推荐指数
1
解决办法
559
查看次数

标签 统计

bash ×1

daemon ×1

exit ×1

io-redirection ×1

services ×1

shell ×1

shell-script ×1