Ich verwende gerne, um screen -d -RR
automatisch einen bestimmten Bildschirm zu erstellen / an diesen anzuhängen. Ich habe Bash-Funktionen erstellt, um es einfacher zu machen ...
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;
}
Sie erstellen einen Alias für /usr/bin/screen -d -RR -S $name $command
. Zum Beispiel verwende ich irssi gerne in einer Bildschirmsitzung, also habe ich in meiner .bashrc (unter diesen Funktionen):
mkscreen irc /usr/bin/irssi
Dann kann ich einfach irc
ein Terminal eingeben, um in irssi zu gelangen. Wenn der Bildschirm 'irc' noch nicht existiert, wird er erstellt und / usr / bin / irssi wird darauf ausgeführt (was natürlich automatisch eine Verbindung herstellt). Wenn es bereits ausgeführt wird, füge ich es einfach wieder hinzu und entferne zwangsweise jede andere Instanz, die bereits daran angehängt ist. Es ist ganz nett.
Ein weiteres Beispiel ist das Erstellen temporärer Bildschirm-Aliase für Perldocs, wenn ich auf sie stoße:
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
Die Option -a (muss das erste Argument sein) hängt den Bildschirmalias an .bashrc an (damit er dauerhaft ist) und -d entfernt ihn (diese können möglicherweise destruktiv sein, daher auf eigenes Risiko verwenden). xD
Anhängen:
Ein weiterer Bash-Ismus, den ich praktisch finde, wenn ich viel mit dem Bildschirm arbeite:
alias sls='/usr/bin/screen -ls'
Auf diese Weise können Sie Ihre Bildschirme mit viel weniger Tastenanschlägen auflisten. Ich weiß nicht, ob es sls
mit vorhandenen Dienstprogrammen kollidiert, aber es war zu diesem Zeitpunkt auf meinem System nicht der Fall, also habe ich mich dafür entschieden.