Как указано enzitib,tsocks
может использоваться для использования прокси SOCKS с yum
.
Чтобы быть более подробным, можно использовать его как это:
$ export TSOCKS_CONF_FILE=$HOME/.tsocks.conf
$ cat .tsocks.conf
server = 127.0.0.1
server_port = 1080
$ tsocks yum ...
По умолчанию tsocks использует версию 4 SOCKS - но можно настроить 5 с помощью 'server_type' директивы. Для опций пользователя/пароля существуют директивы 'default_user'/'default_pas и переменные среды TSOCKS_USERNAME/TSOCKS_PASSWORD.
Я сделал бы это с массивами:
$ foo=( b c ); bar=( e f ); for i in {0..1}; do echo a${foo[$i]}d${bar[$i]}; done
abde
acdf
Я предполагаю, что Ваш фактический вариант использования немного более сложен, поэтому если Вы заполняете массивы с помощью другой команды и не обязательно знаете их размер, можно использовать:
foo=( b c ); bar=( e f ); for i in $(seq 0 $((${#foo[@]}-1))); do
echo a${foo[$i]}d${bar[$i]};
done
Это - глупый ответ, но здесь это так или иначе:
$ echo a{b,c,d}e{f,g,h} | awk 'BEGIN {N=3;} { for (i=0; i<N; i++) { print $(i*N+i+1) } }'
$ echo a{b,c,d,1}e{f,g,h,2} | awk 'BEGIN {N=4;} { for (i=0; i<N; i++) { print $(i*N+i+1) } }'
$ echo a{b,c,d,1,A}e{f,g,h,2,Z} | awk 'BEGIN {N=5;} { for (i=0; i<N; i++) { print $(i*N+i+1) } }'
Вы не можете изменить способ, которым работают фигурные скобки.
Если существует строка, которая не появляется в тексте, говорит ,
, можно применить последовательные строковые замены к массиву:
a=(,b,e @c,f)
a=("${a[@]/,/a/}")
a=("${a[@]/,/d}")
echo "${a[@]}"
Цикл был бы более ясным все же. Если Вы хотите засунуть части вместе, можно использовать разделитель, который не делает eappear в строках, говорит ,
который был бы специальными внутренними фигурными скобками так или иначе.
a=(); IFS=,; set -f
for x in b,e c,f; do
a+=(a${x%*,}d${x#*,})
done
Другой подход должен определить два параллельных массива.
version=(test main)
files=(AppTest.java App.java)
for ((i=0; i<${#files}; i++) rm "src/$version[i]/java/org/sonatype/mavenbook/files[i].java"
Я думаю, что самый легкий способ иметь дело с этой определенной командой состоял бы в том, чтобы определить функцию.
rmapp () { rm "src/$1/java/org/sonatype/mavenbook/$2.java"; }