Вот как less
-i
(переключатель командной строки) работает в «нечувствительном к регистру» режиме (т.е. он по-прежнему чувствителен к верхнему регистру). Как указывает Жиль, использование this скомпилировано в man-db.
В дополнение к способам, указанным в ответе Жиля на WRT, задав псевдоним + - i
или настраиваемый MANLESS
, вы можете переключить строгое сопоставление регистра после открытия страницы руководства с помощью -i
(который включает и выключает переключатель); вы увидите небольшое сообщение «Регистр имеет значение при поиске», и теперь x
соответствует только x
, а X
соответствует только X
.
Man-db man
имеет переключатель -I
, но это относится к поиску страницы руководства - например, по умолчанию man BASH
будет предоставит вам страницу руководства по bash, тогда как man -I BASH
- нет.
Два портативных(ksh, zsh, bash )решения AFAICT:
typeset -p arr >./file # save array
../file # read array
И
printf '%q\n' "${arr[@]}" >./file # save array
eval "arr=( $(<./file) )" # read array
Обратите внимание, что первое решение создаст локальную переменную, если она используется внутри функции в bash.
Просто сделай:
typeset array > file
Для загрузки:
source file
(вы также можете использовать typeset -p array
для сохранения атрибутов переменной массива (exported, unique... )).
В качестве альтернативы:
print -rl -- ${(qq)array} > file
Для загрузки:
eval "array=($(<file))"
За вашу разделительную идею:
print -r -- ${(j[separator])array} > file
Для загрузки:
array=("${(@s[separator])"$(<file)"}")
(хотя будьте осторожны, он удаляет все завершающие символы новой строки из последнего элемента массива и не работает для пустого массива ).