Как Вы получаете первый файл в каждом подкаталоге, соответствующем списку расширений файла?

Как @MichaelKjörling предложенный в комментариях можно работать ConnectionManager или сценарий в оконечном мультиплексоре такой как screen или tmux.

С Вашим примером управляют, чтобы Вы были почти полностью там:

$ screen -d -m ./ConnectionManager

После того как эта команда работает, Вы отсоединяетесь от терминала, таким образом, Вы не видели бы вывода после ConnectionManager запускает. Можно снова соединиться с этой конкретной экранной сессией с этой командой:

$ screen -r

Для разъединения от него, Вы используете сочетание клавиш Control+A+D. Я всегда помню мнемоническое "внимание" + "разъединение".

Если необходимо использовать сценарий, можно изменить его немного так, чтобы он также мог также быть выполнен в a screen сессия.

#!/bin/bash
INFORMIXDIR=/opt/informix
INFORMIXSERVER=server1_on
ONCONFIG=onconfig.eda
PATH=$PATH:$INFORMIXDIR/bin
export INFORMIXDIR INFORMIXSERVER ONCONFIG PATH
echo $INFORMIXSERVER
echo $ONCONFIG
echo "Launch ConnectionManager"
sudo -E /opt/informix/server/ConnectionManager

Вы могли затем запустить этот скрипт тот же путь как ConnectionManager на экранной сессии:

$ screen -d -m yourscript.bash

И используйте то же подключение, методы разъединения, которые я упомянул выше. С экраном, если у Вас есть больше чем один экран "сессия", можно использовать эту команду для списка их:

$ screen -ls

И затем выберите один из списка для соединения с:

$ screen -r <name>

Например:

$ screen -ls
There are screens on:
    1506.bp (Detached)
    32090.dl    (Detached)
2 Sockets in /var/run/screen/S-root.

$ screen -r 32090.dl
4
14.02.2015, 00:50
1 ответ

С zsh:

for d (subdir*(/)) mixb $d/*.(dat|d01)([1])

Эквивалент bash будет что-то вроде:

shopt -s nullglob extglob
for d in subdir*/; do
  [ -L "${d%/}" ] && continue
  set -- "$d"*.@(dat|d01)
  [ "$#" -eq 0 ] || mixb "$1"
done
4
27.01.2020, 20:55

Теги

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