Чтобы действительно сообщить обо всех атрибутах, можно использовать аргумент -dm-
, который представляет собой аргументы -d
и -m-
.
Например, я запустил Chromium, перешел к https://bugsfiles.kde.org/attachment.cgi?id=86198, это действие начало скачивать файл, и я назвал его "my_downloaded_file".
Затем я выполнил getfattr -m- my_downloaded_file
и он показал:
# file: my_downloaded_file
user.xdg.origin.url
хотя больше информации было показано при выполнении getfattr -dm- my_downloaded_file
:
# file: my_downloaded_file
user.xdg.origin.url="https://bugsfiles.kde.org/attachment.cgi?id=86198"
Ссылки:
- man getfattr
- https://unix.stackexchange.com/a/46587
- https://unix.stackexchange.com/a/50781
- https://www.pixelbeat.org/docs/linux_commands.html
- https://kign.blogspot.com.es/2008/08/mystery-of-plus.html
Добавление новых элементов в массив:
array+=( new elements here )
В вашем случае:
my_array+=( "$extracted_value" )
Когда вы делаете
array+=$variable
вы добавляете к первому элементу массива. Это то же самое, что
array[0]+=$variable
Также обратите внимание, что в
extracted_value=$(./external_script.sh $file $sub_unit )
значения $file
и $sub_unit
будут разделены пробелами и подвергнутся подстановке имени файла. Чтобы предотвратить это, используйте "$file"
и "$sub_unit"
вместо (, т.е. двойные -кавычки расширения переменных ).
Подобным образом, говоря
my_array+=( $extracted_value )
разделит значение $extracted_value
на несколько слов, и каждое слово будет подвергнуто подстановке имени файла для создания нового элемента в массиве. Вот лучше бы написали (как уже упоминалось ),
my_array+=( "$extracted_value" )
Это общий совет, и нет причин не этого не делать, даже если вы знаете, что ваши значения уже представляют собой отдельные слова, не содержащие подстановочных символов.
Вы добавили к строке и прочитали ее как массив (, как Кусалананда объяснил намного выше ). Но ваш вопрос показывает, как переменную можно рассматривать как массив. На самом деле простая переменная может легко стать массивом.
$ a+=1
$ a+=2
$ echo "$a"
12
$ echo "${a[0]}"
12
$ a+=(3)
$ echo "$a"
12
$ echo "${a[0]}"
12
$ echo "${a[1]}"
3