Как передать в функцию столько аргументов, сколько есть переменных, начинающихся на "string"?

Это может быть отправной точкой: согласно этой странице руководства на weston.ini есть параметр конфигурации для композитора Weston, который можно поместить в заголовок раздела [output] :

 scale=factor

Целое число, по умолчанию 1, обычно при необходимости настраивается как 2, { {1}}, обозначающий масштабный коэффициент выпуска. Приложения, которые его поддерживают, обрабатывают в соответствующем масштабе. Для других приложений Weston будет масштабировать вывод с учетом этого коэффициента. Используйте значение 2 для выходных данных с высоким разрешением. Такие дисплеи часто называют дисплеями HiDPI или Retina.

2
20.12.2018, 09:14
2 ответа

вы можете использовать массив и передать массив функции.

#!/bin/bash

Variable=(/tmp /tmp/a.txt /tmp/b.txt)

function Test(){
Values=("$@")
echo "${Values[0]}"
echo "${Values[1]}"
echo "${Values[2]}"
}


echo "${Variable[0]}"
echo "${Variable[1]}"
echo "${Variable[2]}"
echo "${Variable[@]}"

#Call the Test function and pass the array
Test "${Variable[@]}"
0
27.01.2020, 22:10

Если вы запустите команду set без каких-либо аргументов, она выведет все переменные и функции, которые были установлены для сеанса, имея в виду, что это просто нужно отфильтровать переменные, а затем отфильтровать нужную «строку» из этих переменных, присвоить ее массиву, а затем передать массив функции.

ALL_VARIABLES=( $(set | grep -Ea '^VARIABLE.*=' | cut -d = -f 2) )
randomfunction "${ALL_VARIABLES[@]}"

в основном вы получите весь вывод из set и grep для любой строки, которая начинается с VARIABLE , за которой следуют любые символы и знак равенства, тогда вы передаст его в cut , чтобы разделить имя и значение, и присвоит все значения массиву ALL_VARIABLES , который затем будет расширен и передан в качестве аргументов в randomfunction

2
27.01.2020, 22:10

Теги

Похожие вопросы