Вы конвертируете файл 1, чтобы имена стали ссылками на переменные:
awk '$0 !~ /^ / { print; next; }; { sub("^ *","&$"); print; }' file1
Data_NetworkSet_A
$P1MSVmgmtvM
$P1MSVvMotion
...
Вы читаете данные из файла 2 в переменные оболочки (, предполагая, что не встречаются «опасные» имена (, такие какPATH
)):
while read dummy varname; read dummy varvalue; do
eval "export ${varname%,}=${varvalue%,}"
done <file2
Вы должны envsubst
заменить имена значениями:
envsubst <file2
Data_NetworkSet_A
/rest/ethernet-networks/2bf8bc44-5b31-4e6c-99ed-d68b1e9acf9e
/rest/ethernet-networks/c16f119a-b556-464d-96dd-7fee9fd8dbc2
Возможно, ваша символическая ссылка /sbin/init
не работает. Чтобы проверить и исправить это, пожалуйста, ознакомьтесь с этим постом :https://unix.stackexchange.com/a/573609/400822
RIP systemd.
Вместо этого используйте службу . введите
# service --status-all
и проверьте, работает ли он. Затем выполните все приведенные выше команды, используя синтаксис службы, и вы должны работать.
Как только вы начнете нормально работать, найдите время и покопайтесь в том, почему systemd не работает должным образом.