Экран GNU и .bashrc

От Вашего var/named/data (или эквивалентный каталог) grep через дб.* файлы с соответствующим регулярным выражением, чем-то как:

grep '\(.  *A   *[0-9][0-9]*\)\|\(..*CNAME..*\)' db.*

Обратите внимание что заключительный 'дб.*' шарики все файлы дб. Повторитесь для каждого каталога, в котором у Вас есть зональные файлы.

2
задан 27 December 2014 в 19:47
4 ответа

Вы еще могли попробовать (после):

if [ "$HAS_STARTED_TERM"!="1"]; then
    HAS_STARTED_TERM=1
    export HAS_STARTED_TERM
    exec gnome-terminal
fi
2
ответ дан 3 December 2019 в 10:31

Если бы я не ошибаюсь, терминал обычно открывался бы, если Вы просто "еще" удаляете блок... Или возможно я пропускаю что-то.

1
ответ дан 3 December 2019 в 10:31
  • 1
    Ну, терминал гнома, вероятно, размещает другую копию удара, который самого выполняет .bashrc, и который в свою очередь открывает другой терминал гнома снова... в бесконечности циклов. –  Shalom Craimer 30 April 2009 в 23:51
  • 2
    Да, that' s мои взгляды, но it' s не абсолютно ясный мне, что devin пытается выполнить. –  Ivan 30 April 2009 в 23:55

Путем мне настраивали вещи, я запускаю экран на каждом сервере, который я подключаю с тем, если он имеет экран. Когда я разъединяюсь и снова соединяюсь, та же экранная сессия повторно подключена. Звуки, хорошие до сих пор, это - то, что все хотят. Но, если у Вас есть несколько окон, открытых на экране, как Вы разъединяетесь, не закрывая их? Существует 2 опции:

  1. Мой предпочтительный ssh клиент разъединится, если я совершил нападки "'". и в моем screenrc я использую "автоотсоединение", но который только работает удаленно.
  2. Для локального (или удаленный) экранирует, у меня есть свой набор bashrc, чтобы разъединиться, если я отсоединяюсь с экрана. Однако в редких случаях Вы хотите отсоединиться и оставаться на связи. Для этого у меня есть некоторое волшебство в моем .bash_logout для дополнения моего .bashrc волшебства.

.screenrc

hardstatus alwayslastline
hardstatus string '%{= kG} %{G}%H %{g}[%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}] %{W}%c %{g}'
#dynamic title
shelltitle '# |sh'

#When your ssh connection dies, screen is autodetached
autodetach on 

#terminfo and termcap for nice 256 color terminal
# allow bold colors - necessary for some reason
attrcolor b ".I"
# tell screen how to set colors. AB = background, AF=foreground
termcapinfo xterm "Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm"
termcapinfo xterm-color "Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm"
# erase background with current bg color
defbce "on"

.bashrc

# set a fancy prompt (non-color, unless we know we "want" color)
if [[ $TERM =~ xterm-.*color || $TERM =~ screen.* ]]; then
   PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]# '
   #if [[ $TERM =~ screen.* ]]; then
   export SCREEN_CMD=$(which screen 2>/dev/null)
   if [[ ( $TERM =~ screen.* ) || ${SCREEN_CMD-X} != X && ${SCREEN_CMD-X} != "" ]]; then
      # This is the escape sequence ESC k \w ESC \
      #Use path as title
      #SCREENTITLE='\[\ek\w\e\\\]'
      #Use program name as title
      SCREENTITLE='\[\ek\e\\\]'
   else
      #Soliton@freenode#screen suggested screen -xRRS primary
      echo ^[k$(hostname|sed "s/\..*//")^[\\
      export SCREEN_CMD=$(which screen 2>/dev/null)
      if [[ ${SCREEN_CMD-X} != X && ${SCREEN_CMD-X} != "" ]]; then
         screen -xRRS primary && unset SCREEN_CMD && [[ $(stat -c %Y .screen_do_not_disconnect 2>/dev/null || stat -f %m .screen_do_not_disconnect 2>/dev/null) -gt 0 ]] || exit
      fi
   fi
else
   PS1='\u@\h:\w# '
   SCREENTITLE=''
   #Soliton@freenode#screen suggested screen -xRRS primary
   echo ^[k$(hostname|sed "s/\..*//")^[\\
   export SCREEN_CMD=$(which screen 2>/dev/null)
   if [[ ${SCREEN_CMD-X} != X ]]; then
      screen -xRRS primary && unset SCREEN_CMD && [[ $(stat -c %Y .screen_do_not_disconnect 2>/dev/null || stat -f %m .screen_do_not_disconnect 2>/dev/null) -gt 0 ]] || exit
   fi
fi
PS1="${SCREENTITLE}${PS1}"

.bash_logout

# ~/.bash_logout

time="$(TZ=UTC date -d @0 2>/dev/null||date -r 0 +%Y%m%d%H%M)"
touch -d "$time" ~/.screen_do_not_disconnect 2>/dev/null || touch -t "$time" ~/.screen_do_not_disconnect

Сценарии выше работы и над Linux и над Mac OS X (который является основаниями, которые Вы видите "2>/dev/null ||" в статистике, касании и командах даты). Я также использую 256 цветов xterm, и я полагаю, что весь код поддержки включен здесь. Несмотря на длину этого сообщения, у меня есть обрезка много из сценариев/конфигураций.

1
ответ дан 3 December 2019 в 10:31

Просто введите:

if [ -z "$STY" ]; then
   screen -ARR
fi

Обратите внимание, что нет exec и что else не нужен. Затем вы можете просто набрать exit, чтобы вернуться к обычному терминалу.

Использование -ARR имеет дополнительное преимущество: оно всегда возобновляет первый соответствующий сеанс отсоединенного экрана, если таковой имеется. В противном случае он создаст новый, чего вы и пытаетесь достичь.

Источник: справочная страница экрана

0
ответ дан 19 September 2020 в 14:23

Теги

Похожие вопросы