有这么简单的bash脚本:
/bin/bash
screen -dm -S "backup"
wget -O backup-$(date +%Y-%m-%d).txt http://link-to-very-huge-file/
问题是:当screen -dm -S "backup"
执行时,会出现新的屏幕会话。但它没有命名!当我(来自ssh)做screen -ls
它给了我:
(10/09/2011 04:35:05 PM) (Detached) 1969.VNC (10/09/2011 01:53:45 PM) (Detached) 910.minecraft (10/09/2011 12:59:29 PM) (Detached)
我自己创造了最后两个。但是第一个由bash脚本创建的,没有名称,甚至没有id!
当我自己screen -dm -S "backup"
时,它工作正常并给我指定的屏幕会话:
3527.backup (10/09/2011 04:44:40 PM) (Detached)
但为什么脚本不好?如何使其有效运作?
答案 0 :(得分:2)
那很奇怪;它对我有用。
您可以复制并粘贴bash脚本的完全内容吗?您的问题中的一个缺少第一行上的#!
,并且在wget
命令后面的行上有screen
命令。这让我怀疑问题出在你没有告诉我们的一些代码中。
这就是我刚试过的。 (我添加了-c /dev/null
以避免加载我相当精细的.screenrc
文件:
$ screen -ls
There is a screen on:
2454.pts-1.kvetch (09/09/2011 11:00:03 AM) (Detached)
1 Socket in /var/run/screen/S-kst.
$ cat foo.bash
#!/bin/bash
screen -dm -S FROM_BASH -c /dev/null sleep 12345
$ ./foo.bash
$ screen -ls
There are screens on:
10384.FROM_BASH (10/09/2011 01:22:48 PM) (Detached)
2454.pts-1.kvetch (09/09/2011 11:00:03 AM) (Detached)
2 Sockets in /var/run/screen/S-kst.
$
我在Ubuntu 11.04上使用屏幕4.00.03jw4。