Saya suka menggunakan screen -d -RR
untuk membuat / melampirkan secara otomatis ke layar tertentu. Saya membuat fungsi bash untuk membuatnya lebih mudah ...
function mkscreen
{
local add=n
if [ "$1" == '-a' ]; then
add=y
shift;
fi
local name=$1;
shift;
local command="$*";
if [ -z "$name" -o -z "$command" ]; then
echo 'Usage: mkscreen [ -a ] name command
-a Add to .bashrc.' 1>&2;
return 1;
fi
if [ $add == y ]; then
echo "mkscreen $name $command" >> $HOME/.bashrc;
fi
alias $name="/usr/bin/screen -d -RR -S $name $command";
return 0;
}
function rmscreen
{
local delete=n
if [ "$1" == '-d' ]; then
delete=y
shift;
fi
local name=$1;
if [ -z "$name" ]; then
echo 'Usage: rmscreen [ -d ] name
-d Delete from .bashrc.' 1>&2;
return 1;
fi
if [ $delete == y ]; then
sed -i -r "/^mkscreen $name .*/d" $HOME/.bashrc;
fi
unalias $name;
return 0;
}
Mereka membuat alias untuk /usr/bin/screen -d -RR -S $name $command
. Misalnya, saya suka menggunakan irssi dalam sesi layar, jadi di .bashrc saya (di bawah fungsi itu), saya punya:
mkscreen irc /usr/bin/irssi
Kemudian saya cukup mengetikkan irc
terminal untuk masuk ke irssi. Jika layar 'irc' belum ada, maka itu dibuat dan / usr / bin / irssi dijalankan darinya (yang terhubung secara otomatis, tentu saja). Jika sudah berjalan maka saya hanya melampirkan kembali, secara paksa melepaskan contoh lain yang sudah terpasang padanya. Cukup bagus.
Contoh lain adalah membuat alias layar sementara untuk perldocs saat saya menemukannya:
mkscreen perlipc perldoc perlipc
perlipc # Start reading the perldoc, ^A d to detach.
...
# Later, when I'm done reading it, or at least finished
# with the alias, I remove it.
rmscreen perlipc
Opsi -a (harus menjadi argumen pertama) menambahkan alias layar ke .bashrc (jadi tetap ada) dan -d menghapusnya (ini berpotensi merusak, jadi gunakan dengan resiko sendiri). xD
Menambahkan:
Bash-isme lain yang menurut saya nyaman saat bekerja banyak dengan layar:
alias sls='/usr/bin/screen -ls'
Dengan cara itu Anda dapat membuat daftar layar Anda dengan lebih sedikit penekanan tombol. Saya tidak tahu apakah sls
bertabrakan dengan utilitas yang ada, tetapi tidak pada saat itu di sistem saya, jadi saya melakukannya.