Я прочитал содержимое папки и сохранил их в массиве. И нужно передать этот массив скрипту. Как я могу хранить и передавать массив и читать этот массив?Сравнение 2 массивов в скрипте оболочки
#!/usr/bin/ksh
cd /path/applications-war
arrayWar=($(ls /path/applications-war))
Мне нужно все содержимое под этой папкой в массив (@arrayWar). Я войду в другую коробку и вызову скрипт. Мне нужно передать этот массив в скрипт.
/usr/bin/ssh -t -t [email protected] /path/myscript.sh @arrayWar
Внутри myscript.sh, я хочу, чтобы сравнить переданную @arrayWar массив с ServicesArray.
#!/bin/ksh
@arrayWar = $1
ServicesArray=('abc.war' 'xyz.war')
for warfile in @arrayWar
do
if echo "${ServicesArray[@]}" | fgrep "$warfile"; then
echo "$warfile matches"
else
echo "$warfile not matched"
fi
done
действительно, ksh с пробелами вокруг вашего '=' знака? Вы не получите сообщение об ошибке? Удачи. – shellter
@fedorqui: Моя проблема не с пробелами. Он должен передавать элементы в массив и сравнивать два массива. – Jill448
Вы не можете передавать массивы в оболочках; вы можете передать содержимое массива только как последовательность позиционных аргументов. – chepner