Portál AbcLinuxu, 5. listopadu 2025 03:19
[...] skript, ktory spustim cez cron alebo rovno startovaci skript by to bol, a otvoril by screenMísto cron-u by byl asi vhodnější .bash_profile (obsah se spouští jen s login shellem) nebo .bashrc (spouští se s interaktivním shellem), ovšem je vhodné doplnit o test, zda screen již neběží, aby se eliminovalo opětovné spuštění. Pak se screen zavolá v "detached" mode (viz man screen pro příslušné parametry). Při vlastní práci se k němu jen připojíš z terminálu.
[...] a v nom mi pootvaral nove taby aj s nejakym pomenovanim, nechcem to vsak riesit tak ze si to natvrdo urcim v screene, tak to viem, ale ked chcem napriklad zo suboru tahat serveri a pomocou klucov mi otvori session aj bez hesla a pomenuje mi screen tab na patricne meno podla servera.Tohle si jednoduše vyjmenuješ do souboru .screenrc a pak se to bude spouštět automaticky. Lze nastavit, do kterého okna se má která aplikace otevřít, včetně pojmenování tabu, opět viz man screen.
A este ak viete poradit dobru knihu pre bash scripting je ich vela, ale chcem nieco s prikladmi hoci aj v anglictine :)Advanced Bash Scripting Guide obsahuje samé příklady a je dostupný na tldp.org
ls -l ~/.screenrc.d/*/* session-1/screen-01 session-1/screen-02 session-1/screen-03 session-2/screen-01z takejto šturktúry ľahko vygeneruješ príslušný .screenrc. Na meno tabu používam:
cat set_screen_name #!/bin/bash echo -ne '\ek'"$1"'\e\\'
Tak tohle je prvni nastrel ("servers" je konfigurak se servrama - jeden na radek, "open.sh" je skript co cele pusti):
$ cat servers
root@server1
root@server2
root@server3
root@server4
$ cat open.sh
#!/bin/bash
CONFIG="servers"
echo "Reading configuration from $SERVERS"
SERVERS=`cat $CONFIG`
SCREEN_CONFIG=`mktemp`
for SERVER in $SERVERS; do
echo "Adding screen for server '$SERVER'"
echo "screen ssh $SERVER" >> $SCREEN_CONFIG
echo "title \"Server $SERVER\"" >> $SCREEN_CONFIG
done
echo "Launching screen..."
screen -c $SCREEN_CONFIG
echo "Deleting temporary config $SCREEN_CONFIG"
rm $SCREEN_CONFIG
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.