zsh :При запуске исходного кода я получаю zshrc :116 :непревзойденный

Я предполагаю, что вы хотите создать копию массива. Затем используйте ответ @Freddy.

Если вы хотите создать ссылку на те же данные, в последних версиях bash есть «namerefs»:

$ my_databases=(value1 value2 value3)
$ declare -n new_array=my_databases

Тогда:

$ for i in "${!new_array[@]}"; do printf "%d\t%s\n" $i "${new_array[i]}"; done
0   value1
1   value2
2   value3

но если изменить первый массив, изменения будут видны в "новом":

$ my_databases[2]="updated value 3"
$ for i in "${!new_array[@]}"; do printf "%d\t%s\n" $i "${new_array[i]}"; done
0   value1
1   value2
2   updated value 3
0
01.02.2021, 09:57
1 ответ

Ваше сообщение об ошибке не unmatched, а unmatched ", так как в нем есть непревзойденный символ кавычки, ".

Часть /Users/fridavbg/.zshrc:116поясняет, что эта ошибка была обнаружена в файле /Users/fridavbg/.zshrcв строке 116.

Таким образом, вы должны посмотреть в этом файле вокруг указанной строки на наличие несопоставленных кавычек. Обратите внимание, что иногда указанная строка не является той строкой, в которой есть ошибка. Если вы не нашли ошибку в указанной строке, она может быть до этой строки, а иногда и после нее.

Пример:

command1 "missing quote at the end
command2 ""

Здесь кавычка, начатая в первой строке, продолжается до первого символа кавычки во второй строке,и кавычка, начинающаяся со второго символа кавычки, не завершается.

1
18.03.2021, 22:33

Теги

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