Экран GNU: опция -S не работает при запуске из скрипта bash - PullRequest
0 голосов
/ 09 октября 2011

Наличие такого простого скрипта 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, не имеет имени и даже не имеет идентификатора!

Когда я сам screen -dm -S "backup", он работает нормально и дает мне названный сеанс экрана:

3527.backup (10/09/2011 04:44:40 PM)        (Detached)

Но почему скрипт плохо работает?Как заставить его работать правильно?

1 Ответ

2 голосов
/ 10 октября 2011

Странно; это работает для меня.

Можете ли вы скопировать и вставить точное содержимое bash-скрипта? В вашем вопросе отсутствует #! в первой строке, а в строке после команды screen указана команда wget. Это заставляет меня подозревать, что проблема в каком-то коде, который вы нам не показали.

Вот что я только что попробовал. (Я добавил -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.

$ 

Я использую screen 4.00.03jw4 в Ubuntu 11.04.

...