GNU Screen:从bash脚本启动时,-S选项不起作用

时间:2011-10-09 12:51:58

标签: bash ssh gnu gnu-screen

有这么简单的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)

但为什么脚本不好?如何使其有效运作?

1 个答案:

答案 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。