На строке 3 Вы имеете
while read file2 : do
Это должно читать
while read file2 ; do
Таким образом, синтаксис Вашего цикла с условием продолжения был бы допустим.
И на заметке на полях: так как Вы используете более старое [
и нет [[
необходимо заключить в кавычки file1
и file2
переменные для предотвращения pathname expansion
и word splitting
от повреждения Вашего [
команда.
Я не думаю, что вы можете сделать это на tty6
, потому что:
tty6 специально зарезервирован для автоматически порождаемых gettys и недоступен для других подсистем, таких как X [3]. Это сделано для того, чтобы всегда иметь возможность получить текстовый логин, даже если из-за быстрого переключения пользователей X завладел более чем 5 VT.
Дополнительную информацию вы можете найти здесь .
Но вы можете попробовать это, например, на tty5
. Вы можете создать следующую службу (testo.service или как угодно) в / lib / systemd / system /
в большинстве дистрибутивов, но в openSUSE
я думаю, что это / usr / lib / systemd / system
:
[Unit]
Description=top on tty5
[Service]
Type=simple
ExecStart=/usr/bin/top
ExecStop=/bin/kill -HUP ${MAINPID}
StandardInput=tty
StandardOutput=tty
TTYPath=/dev/tty5
Restart=always
RestartSec=2
[Install]
WantedBy=getty.target
А затем:
systemctl enable testo.service
perl -lpe 's/^(0\.){3}0/127.0.0.1/' file > newfile
должны сделать трюк.
-121--254666-В Linux вы можете получить эту информацию из
/proc/<pid>/mounts
, где < pid >
- идентификатор интересующего вас процесса. Существует также:
/proc/<pid>/mountinfo
, который содержит дополнительную информацию, но имеет другой, не-/etc/mtab
-совместимый формат.
Что он пытается сделать, так это: иметь «верх» всегда доступен на vt6. Кажется мне разумной целью.
Конфигурация или gettys входа на vt's находятся в
/etc/systemd/logind.conf
Здесь можно ограничить использование login-vt.
Что я не знаю на данный момент, так это то, как «inittab» функционал обрабатывается текущими дистросами. «inittab» - это то, куда вы бы положили такой процесс...
Может быть, это помогает? С уважением, герхард