>[оверквотинг удален]
> Да и вызывает сомнение на правильность вот этого "участка"
>> start_bf.sh' "
> Если учесть то, что сначала открываются одинарные кавычки, затем двойные, а впоследствии
> закрываются наоборот...
> Пробовал изменить на
>> su -l gameadmin -c '/usr/bin/screen -AmdS bf2 "cd /game/bf2 && ./start_bf.sh"' > /dev/null 2>&1 &
> результат почти аналогичный (долго рассказывать какой, но одним словом - не работает)...
> :(
> P.S. Прочесть man screen не хватает духу - 177Кб текста на инглиш!!
> :-( Все же очевидно и просто:
su -l gameadmin -c "cd /game/bf2; /usr/bin/screen -AmdS bf2 ./start_bf.sh;"
По порядку:
su -l gameadmin -- переключается на пользователя, будто бы он вошел в систему.
/usr/bin/screen -AmdS bf2 -- команда screen, с опциями, а в качестве аргумента принимает команды для запуска.
./start_bf.sh -- собственно команда, которую хотим запустить в screen.
cd /game/bf2 -- костыль, который нужен для скрипта start_bf.sh очевидно в котором прописаны относительные пути.
Следовательно, cd /game/bf2 нужно делать ДО запуска start_bf.sh.
> /dev/null 2>&1 -- отправит STDERR и STDOUT в /dev/null - ваш скрин будет пуст!
& -- еще и имперсанд в конце заставит команду выполняться в фоне - а смысл, чего хотели добиться?! У вас ведь запускается screen, который как раз отправит в фон, то что вы запускаете в нем! :)
И да, боюсь чтение man screen никак вам не поможет. Вам скорее man sh или man bash подойдет - как вообще что-либо запускать в *nix :)