Лучшее решение состояло бы в том, чтобы использовать группы для управления группами — это - то, для чего они. Вместо того, чтобы дать команде пароль grp
считайте, сделайте grp
группа и удостоверяется все файлы, которые должны быть доступны для команды, принадлежат той группе и считали группу и полномочия записи (как применимые). Используя группы имеет много преимуществ, включая мгновенное решение Вашей непосредственной проблемы.
Если Вы не можете сделать этого, потому что это - политика, установленная Вашим боссом, и он упрям, можете Вы, по крайней мере, располагать использовать что-то другое, чем аутентификация по паролю для получения до su
учетная запись? Например, если можно добавить ssh открытый ключ к учетной записи команды ~/.ssh/authorized_keys
, Вы сможете к ssh непосредственно в него. (Это не хороший способ управлять полномочиями, но Вы злоупотребляете системой уже, не используя группы.)
Вы перепутываете синтаксис здесь.
Оболочка будет видеть ${var[%d]
который немного походит на переменную оболочки - но не является. Необходимо попробовать
cat <<EOF
...
EOF
отлаживать и видеть точно, что происходит. То, что я думаю, что Вы хотите, является чем-то больше как
for ((i=0; i<=10; i++))
do
var[$i] = i*10
done
gnuplot<<EOF
values="${var[*]}"
do for [j in values] {
#need to access ${var[j]} somehow
val=sprintf("%d", j) ##access part of the array directly
}
EOF