Я сделал это прежде с названным пользователем"s
"и никакой пароль.
IIRC Вы устанавливаете оболочку пользователя на /sbin/shutdown
. Prolly должен добавить его к /etc/shells
.
Если они - псевдонимы, необходимо будет записать это:
myFunction() {
export SOME_VAR=/path/to/main/folder
. "$SOME_VAR/loading/stuff.sh" --quiet
eval '
loadApp1
loadApp2
loadApp3
loadApp4'
}
псевдонимы расширены в то время, когда они читаются/анализируются. eval
вызывает такой парсинг.
Я использовал бы сценарий, чтобы сделать это только для хождения его безопасная сторона:
#!/usr/bin/env bash
export SOME_VAR=/path/to/main/folder
source $SOME_VAR/loading/stuff.sh --quiet
loadApp1
loadApp2
loadApp3
loadApp4
Просто сохраните это в Вашем $PATH
, сделайте это исполняемым файлом и выполните его вместо своей функции.
Нет никакой проблемы, объявляя функцию, содержащую неизвестные команды. Это - только когда Вы пытаетесь выполнить его, проблема происходит.
$ unknown() { foo; bar; baz; }
$ unknown
bash: foo: command not found
bash: bar: command not found
bash: baz: command not found
eval
удар сил для определения команды во времени выполнения
– RSFalcon7
29.10.2013, 20:50