При ссылке на переменную обычно рекомендуется заключать ее имя в двойные кавычки. Это предотвращает переинтерпретацию всех специальных символов в кавычках - за исключением $
, `
(обратная кавычка) и \
(escape). Сохранение $
в качестве специального символа внутри двойных кавычек позволяет ссылаться на переменную в кавычках ("$variable"), то есть заменять переменную ее значением.
Используйте двойные кавычки для предотвращения разделения слов. Аргумент, заключенный в двойные кавычки, представляется как одно слово, даже если он содержит пробельные разделители.
например,
variable1="a variable containing five words"
COMMAND This is $variable1 # Executes COMMAND with 7 arguments:
# "This" "is" "a" "variable" "containing" "five" "words"
COMMAND "This is $variable1" # Executes COMMAND with 1 argument:
# "This is a variable containing five words"
Заключение аргументов оператора echo в двойные кавычки необходимо только в тех случаях, когда стоит вопрос о разделении слов или сохранении пробельных символов.
Для получения дополнительной информации и примеров перейдите сюда
Ответ илккачу вводит в заблуждение. Соль и IV имеют два совершенно разных назначения
Эти цели описаны на связанных страницах Википедии
Для получения ключа используется соль. Хэширование используется для создания ключа шифрования фиксированной длины из введенной пользователем парольной фразы -. Целью соли является предотвращение создания одного и того же ключа из одной и той же парольной фразы для защиты от атак с использованием радужных таблиц. Парольная фраза и соль объединяются, а затем хэшируются
.Вектор инициализации имеет другое назначение. Преобразование шифра AES (шифрует )фиксированное число бит (блок )открытого текста с использованием ключа фиксированной -длины и содержимого предыдущего блока открытого текста. У первого блока нет предыдущего блока, поэтому он шифруется с помощью IV и ключа
.Соль обычно хранится в начале зашифрованного файла. Это не секрет