Я Марк ваш ответ как правильный, так как там, кажется, не быть что-нибудь еще я мог сделать. К сожалению, это был серьезный аппаратный сбой, но в итоге я пошла на покупка SSD в качестве замены, и сейчас я счастлив. У нас есть лекции в эту субботу, но мы просили администрацию, чтобы изменить время таблицей поэтому мы не будем учиться в субботу, но мы пока не знаем, если они сделали какие-то изменения или не так мы просим учителя четкого ответа о посещении субботней лекции или нет @JaimeSantaCruz Спасибо за комментарий. Не стесняйтесь, чтобы обновить ответ. Однако, я не уверен на 100% в этом случае. Последний раз я меняла пароль, все сообщения исчезли. Физически они, вероятно, останется на Mac.

Указатель (на месте память)- это не очень полезная идея в чем-либо более высокого уровня, чем C, и будет что-то вроде Python или оболочки. Ссылки на объекты, конечно, полезно на языках высокого уровня, возможно, даже необходимы для построения сложных структур данных. Но в большинстве случаев мыслит в терминах адресов памяти слишком низкий уровень, чтобы быть очень полезным.

В bash (и другие снаряды), можно получить значения элементов массива с ${массив[индекс]} нотации, назначить их в массив[индекс]=... и получить количество элементов в массиве с ${#массив[@]}. Выражение в скобках представляет собой арифметическое выражение. Как выдуманный пример, мы могли бы добавить постоянный префикс для всех членов массива:

для ((Я=0 ; я < ${#массив[@]} ; я++ )) ; делать
массив[я]="фу-${массив[я]}"
сделано

(Если бы мы заботились только о ценностях, а не индексы, только для Х в "${массив[@]}" ; сделать... было бы хорошо.)

С ассоциативной или разреженные массивычисловой цикл не имеет смысла, но вместо этого нам нужно получить массив ключей/индексов с ${!массив[@]}. Е. Г.

объявить-ДОЦ=([фу]="123" [бар]="456")
для меня в "${!ДОЦ[@]}" ; сделать 
 Эхо "${ассоц[$я]}"
сделано 

Кроме того, в bash есть два способа косвенно указывают на другую переменную:

  • косвенные расширения, используя в ${!ВАР} синтаксис, который использует значение переменной, чье имя является в ВАР, и
  • namerefs, которые должны быть созданы с объявить строением (или КШ-совместимый синоним, верстал). объявить -Н Реф=ВАР делает Реф ссылка на переменную ВАР.

Namerefs также поддержка индексирование, в том, что если мы ОБР=(а б); объявить -Н номер модели / ref=Арр; тогда ${ссылка[1]} будет расширяться б. С помощью ${!П[1]} вместо этого взять р как массив, и обращаться к переменной по имени ее второй элемент.

В bash, namerefs буквально, ссылки по имени, и с помощью nameref из внутри функции будет использовать локальное значение именованной переменной. Это будет печатать местное значение var.

#!/бин/Баш
удовольствие() {
 местные ВАР="местного значения ВДП"
 Эхо "$Реф";
}
ВАР="Глобал ВАР"
Реф объявить -Н=ВАР
удовольствие

BashFAQ имеет более Статьи по косвенности, тоже.