screen -d -RR
Belirli bir ekranı otomatik olarak oluşturmak / eklemek için kullanmayı seviyorum . Bunu kolaylaştırmak için bash fonksiyonları yarattım ...
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;
}
Bir takma ad oluştururlar /usr/bin/screen -d -RR -S $name $command
. Örneğin, irssi'yi bir ekran oturumunda kullanmayı seviyorum, bu nedenle .bashrc dosyamda (bu işlevlerin altında):
mkscreen irc /usr/bin/irssi
O zaman irc
irssi'ye girmek için bir terminal yazabilirim . Eğer 'irc' ekranı henüz mevcut değilse oluşturulur ve / usr / bin / irssi ondan çalıştırılır (tabii ki otomatik olarak bağlanır). Zaten çalışıyorsa, ona yeniden bağlarım, zaten ona bağlı olan diğer herhangi bir örneği zorla ayırırım. Oldukça güzel.
Başka bir örnek, perldoc'larla karşılaştıkça geçici ekran takma adları oluşturmaktır:
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
-A seçeneği (ilk argüman olmalıdır) ekran diğer adını .bashrc'ye ekler (böylece kalıcıdır) ve -d onu kaldırır (bunlar potansiyel olarak yıkıcı olabilir, bu nedenle riski üstlenerek kullanın). xD
Ekle:
Ekranla çok çalışırken uygun bulduğum başka bir bash-izm:
alias sls='/usr/bin/screen -ls'
Bu şekilde, ekranlarınızı çok daha az tuş vuruşuyla listeleyebilirsiniz. sls
Herhangi bir mevcut yardımcı programla çarpışır mı bilmiyorum , ama o zaman sistemimde yoktu, bu yüzden bunun için gittim.