Здравствуйте. Подскажите как заставить работать такой скрипт правильно:
#!/bin/sh
scrfunc() {
echo aaaaaaaaaaaaa
echo dddddddddddddd
top
}
screen scrfunc
когда запускаю пишет no such file scrfunc. Как вы поняли мне нужно чтобы при запуске команды screen туда передавалось сразу несколько команд. Можно конечно scrfunc вынести в отдельный файл, но мне хотелось бы как нибудь организовать все красиво в одном файле_). Через ; тоже не передается. Как быть*?
запуск нескольких команд в screen
Модератор: Модераторы разделов
-
SLEDopit
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: запуск нескольких команд в screen
Дело в том, что screen запускает новую оболочку, которая знать не знает про вашу функцию.
Делайте так:
Делайте так:
Код: Выделить всё
#!/bin/sh
FUNC="scrfunc() {
echo aaaaaaaaaaaaa > a_1
echo dddddddddddddd > a_2
top
}"
screen sh -c "$FUNC ; scrfunc"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.