Какой специальный символ может отображаться в моей домашней папке?

По умолчанию Debian предполагает клавиатуру в стиле PC. Поскольку вы используете mac, вы не используете её, поэтому вам нужно сказать об этом Debian. Для этого вам нужно изменить /etc/default/keyboard так, чтобы он содержал следующее:

XKBMODEL=macintosh
XKBLAYOUT=se

Затем вы можете использовать на машине Debian те же клавиши, что и на OS X.

4
06.08.2016, 04:28
3 ответа

Don ' Сделайте это:

for i in `pwgen -yB -N 8 1`

Результат подстановки команды подвергается расширению имени пути .

Вместо этого сделайте следующее:

pwgen -yB -N 8 1 | while IFS= read -r i; do printf '%s\n' "$i"; done

Пример

Обратите внимание, что * появляется в выходных данных ниже, демонстрируя, что расширение имени пути не было выполнено:

$ pwgen -yB -N 8 1 | while IFS= read -r i; do printf '%s\n' "$i"; done
~
-
*
@
;
\
*
-
4
27.01.2020, 20:50

Вы используете 'split' в для i в `command` .
Но это также связано с "генерацией имени файла" (также известной как расширение пути в bash), в которой (без кавычек) символы, такие как * , ? и [ расширяются до «имен файлов».

Это можно отключить с помощью: set -f .

set -f ; for i in `pwgen -yB -N 8 1`; do echo "$i"; done

Использование массива может быть хорошей идеей:

$ set -f; arr=( $(pwgen -yB -N 4 1) ); printf '<%s>\n' "${arr[@]}"
<~>
<&>
<_>
<`>

Или, возможно:

$ set -f; arr=( $(pwgen -yB -N 5 18) ); printf '%s\n' "${arr[@]}"
oesheisu%ugh>aetas
nae>chootho|yeiwah
quie{thohp+aechuit
ib\iibugeighe<pie?
kie}phah=ngeitaeph

Конечно, вы можете использовать readarray для заполнения массива (нет необходимости в set -f ):

$ readarray -t arr < <(pwgen -yB -N 8 1)

А затем выведите все элементы:

$ printf '%s\n' "${arr[@]}"

Все в одной строке:

$ readarray -t arr < <(pwgen -yB -N 4 12); printf '%s\n' "${arr[@]}"
ioquavoej&ee
che>u}phoej<
iuchoo"shoom
hahd!eumohsu
2
27.01.2020, 20:50

Это *:

for i in `echo '*'`; do echo "$i"; done

Как его найти:

for i in `pwgen -yB -N 100 1 | tee /tmp/f1`; do echo "$i"; done >/tmp/f2
diff f1 f2

Возможно, вам придется запустить его несколько раз, пока вы не увидите разницу. Или увеличить N.

1
27.01.2020, 20:50

Теги

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