मुझे screen -d -RR
दिए गए स्क्रीन पर स्वचालित रूप से बनाने / संलग्न करने के लिए उपयोग करना पसंद है । मैंने इसे आसान बनाने के लिए बैश फ़ंक्शंस बनाए ...
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;
}
वे एक उपनाम बनाते हैं /usr/bin/screen -d -RR -S $name $command
। उदाहरण के लिए, मैं एक स्क्रीन सत्र में irssi का उपयोग करना पसंद करता हूं, इसलिए मेरे में .bashrc (उन कार्यों के नीचे), I:
mkscreen irc /usr/bin/irssi
तब मैं सिर्फ टाइप कर सकता हूं irc
एक टर्मिनल में irssi में आने के लिए। यदि स्क्रीन 'irc' अभी तक मौजूद नहीं है तो इसे बनाया गया है और / usr / bin / irssi इसे से चलाया जाता है (जो स्वचालित रूप से कनेक्ट होता है, निश्चित रूप से)। अगर यह पहले से ही चल रहा है, तो मैं इसे केवल रीटच कर रहा हूं, जबरन किसी अन्य उदाहरण को पहले से ही संलग्न कर रहा हूं। यह काफी अच्छा है।
एक और उदाहरण के रूप में मैं उनके आसपास आने के लिए perldocs के लिए अस्थायी स्क्रीन उपनाम बना रहा है:
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 विकल्प (पहले तर्क होना चाहिए) स्क्रीन उर्फ को .bashrc (इसलिए यह लगातार है) को जोड़ता है और -d इसे हटाता है (ये संभावित रूप से विनाशकारी हो सकते हैं, इसलिए अपने जोखिम पर उपयोग करें)। xD
संलग्न:
स्क्रीन के साथ बहुत काम करने पर एक और बैश-इस्म जो मुझे सुविधाजनक लगता है:
alias sls='/usr/bin/screen -ls'
इस तरह आप बहुत कम कीस्ट्रोक्स के साथ अपनी स्क्रीन को सूचीबद्ध कर सकते हैं। मुझे नहीं पता कि क्या sls
किसी मौजूदा उपयोगिताओं से टकराता है, लेकिन यह मेरे सिस्टम पर उस समय नहीं था इसलिए मैं इसके लिए गया था।