Со статистикой GNU:
shopt -s dotglob
for file in dirA/*; do
[[ -f "dirB/${file##*/}" ]] || continue
if (( "$(stat -c %Y "$file")" > "$(stat -c %Y "dirB/${file##*/}")" )); then
# take action
fi
done
Это - переменная со строкой, присвоенной ему.
variable='val1 val2 val3 val4'
Можно сказать, что это - строка, когда мы производим его использование echo
:
$ echo $variable
val1 val2 val3 val4
Для определения той серии элементов как массив, Вы могли сделать следующее:
$ variable=(val1 val2 val3 val4)
При повторении переменных, которые определяются как массивы, Вы получите просто первый возвращенный элемент, как так:
$ echo $variable
val1
Для наблюдения определенных элементов в массиве можно обеспечить индекс:
$ echo ${variable[0]}
val1
$ echo ${variable[2]}
val3
Или все они:
$ echo ${variable[@]}
val1 val2 val3 val4
Это не массив. Для создания этого как массива, Вы использовали бы
set -A variable val1 val2 val3 val4
который присвоил бы val1 переменной [0] и так далее.
Что Вы имеете, кажется, просто существует значения, к которым присоединяются пробелы () в единственную строку.