Tôi thích sử dụng screen -d -RR
để tự động tạo / đính kèm vào một màn hình nhất định. Tôi đã tạo các hàm bash để làm cho nó dễ dàng hơn ...
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;
}
Họ tạo một bí danh cho /usr/bin/screen -d -RR -S $name $command
. Ví dụ: tôi thích sử dụng irssi trong một phiên màn hình, vì vậy trong .bashrc của tôi (bên dưới các hàm đó), tôi có:
mkscreen irc /usr/bin/irssi
Sau đó, tôi có thể chỉ cần gõ irc
một thiết bị đầu cuối để truy cập irssi. Nếu màn hình 'irc' chưa tồn tại thì nó sẽ được tạo và / usr / bin / irssi được chạy từ nó (tất nhiên là kết nối tự động). Nếu nó đã chạy thì tôi chỉ cần gắn lại nó, buộc phải tách bất kỳ phiên bản nào khác đã được gắn vào nó. Nó khá tốt.
Một ví dụ khác là tạo bí danh màn hình tạm thời cho perldocs khi tôi bắt gặp chúng:
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
Tùy chọn -a (phải là đối số đầu tiên) gắn bí danh màn hình với .bashrc (vì vậy nó liên tục) và -d xóa nó (những bí danh này có thể phá hủy, vì vậy hãy tự chịu rủi ro khi sử dụng). xD
Nối:
Một cơ sở khác mà tôi thấy thuận tiện khi làm việc nhiều với màn hình:
alias sls='/usr/bin/screen -ls'
Bằng cách đó, bạn có thể liệt kê các màn hình của mình với ít lần nhấn phím hơn. Tôi không biết có sls
va chạm với bất kỳ tiện ích hiện có nào không, nhưng nó không có trên hệ thống của tôi vào thời điểm đó nên tôi đã sử dụng nó.