Zsh скрипт, как конкатенировать элементы массива со строкой

Я написал сценарий zsh для автоматизации анализа в физике высоких энергий, и теперь я хотел бы использовать элемент одного из определенного массива некоторую строку и другой элемент какого-либо другого массива в команде, которая передается в одну из строк , Ниже приведен мой код:

 bkgarr=(TopJets BosonJets DiBoson TTbar) sigarr=(NM1 NM2 NM3 Scenario4 Scenario6) puarr=(50PU 140PU) lumarr=(30 300 3000) echo Please type 1 for 50PU samples and 2 for 140PU samples read PU if [[ $PU -ne 1 && $PU -ne 2 ]] ; then echo You have to enter 1 or 2 return 1 fi echo Please type 1 for 300fb-1 and 2 for 3000fb-1 read lum if [[ $lum -ne 1 && $lum -ne 2 ]] ; then echo You have to enter 1 or 2 return 1 fi if [ $PU = 1 ]; then let "lum = $lum + 1" #echo $lum fi root -l << EOF .L readerSummerStd.C+ .q EOF ex NEWrunReader.py <<EOEX :43s/Lumi.*/Lumi=$lumarr[lum]/ :x EOEX echo Press any key to proceed or Ctrl+C to abort! read for index in $bkgarr do screen -dmS $index"_"$lumarr[lum] #screen -S $index -p 0 -X stuff "$(typeset -p bkgarr)"$'\r' screen -S $index"_"$lumarr[lum] -p 0 -X stuff "./NEWrunReader.py SummerStd $puarr[PU]_$index >& $index"_"$lumarr[lum].txt &"$'\r' done for sigind in $sigarr do screen -dmS $sigin"_"$lumarr[lum] #screen -S $sigind -p 0 -X stuff "$(typeset -p bkgarr)"$'\r' screen -S $sigin"_"$lumarr[lum] -p 0 -X stuff "./NEWrunReader.py SummerStd $puarr[PU]_$sigind >& $sigind"_"$lumarr[lum].txt &"$'\r' done return 0 

Я думал, что следующие фрагменты кода будут делать, но они не удались:

 $index+"_"+$lumarr[lum] $index"_"$lumarr[lum] 

Я был бы признателен, если бы вы могли помочь мне в этом.

One Solution collect form web for “Zsh скрипт, как конкатенировать элементы массива со строкой”

Использовать это:

 "${index}_${lumarr[lum]}" 

В общем:

  1. Интерполируйте все переменные, используя ${...} нотацию.
  2. Если вы прямо не хотите использовать расщепление слов, всегда включайте переменные интерполяции в строках с двойными кавычками.
  • Как захватить вывод xxtrace (только) в файл?
  • Как добавить числовой порядок имен файлов Zsh / AWK / ...?
  • Лучший способ просмотра различных версий резервной копии каталога
  • Проблема с передачей параметров, содержащих пробелы и символы wild card
  • Как изменить интерпретацию переменной в `zsh`?
  • zsh не может содержать некорректные `$ *` и `$ @` равные
  • Oh-My-Zsh удаляет дублированный путь в стеке каталогов
  • Сильная команда таймаута в zsh
  • игнорировать файл хоста в ZSH ssh / scp tab-complete
  • Как удалить zsh keybinding, если я не знаю, что он делает?
  • Есть ли причина, почему первый элемент массива Zsh индексируется 1 вместо 0?
  • Linux и Unix - лучшая ОС в мире.