В настоящее время я пытаюсь написать сценарий Bash, который может отправлять несколько заданий в кластер SGE QSUB и представлять некоторые переменные среды для каждой работы.создать список, разделенный запятой, содержащий имена всех переменных, начинающихся с префикса
Чтобы передавать переменные в каждое задание, мне нужно указать все переменные, которые я хочу передать как одну строку (в виде списка, разделенного запятыми, например 'var1={var1},var2={var2}'
).
Мне интересно, как автоматизировать этот процесс. В частности, я хотел бы написать скрипт, который делает следующее:
1) собирать имена всех переменных, которые начинаются с определенного префикса 2) отогнать префикс из этих имен 3) создать список разделенных запятыми
в качестве примера рассмотрим следующий сценарий (где префикс jobvar
):
jobvar_my_vector=(0.1 2.00 3.00)
jobvar_my_string="hello"
other_variable="yesyesyes"
Здесь команда будет в основном производить переменную list_of_variables
которая будет строка, как: "my_string=${my_string},my_vector=${my_vector}"
Почему бы просто не использовать подстановку параметров, который возвращает все переменные с заданным префиксом вместо этого? –
Спасибо! Оба рабочих решения великолепны. Я добавил дополнительную строку 's = '$ {s%?}" ', Чтобы удалить последний', 'в конце строки. –
Добро пожаловать, рад, что это сработало. – anubhava