Синхронизация пользователей и групп между серверами - это именно то, для чего предназначен LDAP. Я настоятельно не рекомендую использовать домашнее решение для чего-то подобного, особенно потому, что при синхронизации пользователей и групп между различными серверами необходимо учитывать множество переменных.
Руководство по настройке LDAP выходит за рамки данного ответа, но вы можете найти краткое руководство для OpenLDAP, наиболее популярной реализации, на ее официальном сайте.
не используйте переменную.
awk допускает множественный ввод файла программы.
генерировать временный файл awk для каждого случая, например:
для file1.csv
создать temporary.awk
программу (file1.awk)
function check() { if ( $1 == ""180817CR0003988" ) return "blue" ; else "back" }
дляfileX.csv
function check() { if ( $9 == ""unix.stackexchange.com" ) return "grey" ; else "blue" }
затем при вызове
color=check() ;
awk вызывается как
awk -f temporary.awk -f long.awk...
Ваше заявление awk большое, я предлагаю поместить его в файл с именем long.awk
.
Переменные Awk обрабатываются как строки. Вы даже не можете передать массив , не говоря уже об условии. Но вам не нужно. Вместо того, чтобы передавать условие, просто передайте значение, необходимое для запуска:
if( $1 == cond ) {
color="BLUE"
}
Затем вы запускаете скрипт с помощью:
/gk/laaz/csv2html.sh sample.csv sample.html 180817CR0003988