Код: Выделить всё
#!/bin/bash
set -Eeu -o pipefail
word1=$(awk '{print $2}' eff_short_wordlist_2_0.txt | fzf)
echo "${word1}"
word2=$(awk '{print $2}' eff_short_wordlist_2_0.txt | fzf)
echo "${word1},${word2}"
phrase="${word1},${word2}"
echo "Passphrase: ${phrase}"
Вывод должен выглядеть как (используя пример слова):
animal
animal,elk
Passphrase: animal,elk
< /code>
и соответствует этому на виртуальной машине Ubuntu. Однако, если вы запустите его на Ubuntu 22.04 для WSL, ожидаемый выход полностью искажается следующим образом ... < /p>
animal
,elkal
,elk-phrase: animal
< /code>
Я пытался обрезать контрольные символы разными способами. Развертывание петли (чтобы предотвратить глупость суб-оболочки) ... абсолютно ничего не работает. Второе слово жестко фиксируется в позицию 0 любой строки, в которую он вставлен. Я знаю, что есть контрольные персонажи, которые могут сделать это, но его устранение должно решить проблему, а это не так.
Спасибо за помощь!
Подробнее здесь: https://stackoverflow.com/questions/797 ... d-a-word-l