У меня есть скрипт, который находит все сертификаты.личность в системе, то я хочу добавить еще один сертификат.и удалите остаток Cert, за исключением того, который был добавлен недавно.
1-й цикл находит, сколько у нас идентификаторов в системе и устанавливает массив как $var1 $var2 $var3
и нет.продолжается.
Затем я добавляю еще один.
Теперь я хочу удалить здесь значения массива 1 цикла для цикла.Но моя переменная $ DEL имеет вид var1 var2, а не фактическую идентификацию, которую мы установили в 1-м цикле.
#!/bin/bash
DOM=$(/usr/sbin/dsconfigad -show | grep "Active Directory Domain" | awk '{ print $5 }')
MAC=$(/usr/sbin/dsconfigad -show | grep "Computer Account" | awk '{ print $4 }' | tr -d "$")
HOST=$MAC.$DOM
CRT=$(security find-identity -v | grep $HOST | awk '{ print $2}')
set - $CRT; index=0; while [ "$1" ];
do
let index=$index+1;
eval var${index}="$1";
shift;
done
Результат приведенного выше цикла: + set - 02KFKDSF89SFMDFMFS7908934M90DODFSMN78345 K69SKLD04KCM62469933FA60567LLFD730957FA3 489FHDFS93MDF89UY2345905DFSKDDSKFDS9FSEF
echo $var1
echo $var2
echo $ var1: 02KFKDSF89SFMDFMFS7908934M90DODFSMN78345
echo $ var2: K69SKLD04KCM62469933FA60567LLFD730957FA3
NUMCRT=$index
echo "Number of Certificate is $NUMCRT"
echo "Add of Script part bla bla Start"
echo "ADD one more Cert"
echo "Add of Script part bla bla END"
Теперь я хочу удалить значение массива, найденное в 1-м цикле.Но $DEL
значение приходит var1
var2
var3
, а не 02KFKDSF89SFMDFMFS7908934M90DODFSMN78345
K69SKLD04KCM62469933FA60567LLFD730957FA3
489FHDFS93MDF89UY2345905DFSKDDSKFDS9FSEF
.
for i in $(seq 1 $NUMCRT);
do
let $i;
DEL="var$i"
echo "Delete number $DEL"
done
Должно отображаться echo "Delete number $DEL"
во втором for
значении циклакак показано ниже.
Delete number 02KFKDSF89SFMDFMFS7908934M90DODFSMN78345
Delete number K69SKLD04KCM62469933FA60567LLFD730957FA3
Delete number 489FHDFS93MDF89UY2345905DFSKDDSKFDS9FSEF