В настоящее время у меня есть сценарий, который пытается сгенерировать новый пароль VN C.
Когда я ввожу строку 0987poiu)(*&POIU
в свой сценарий, он генерирует почти идентичный вывод в утилиту vncpasswd
. Это сравнение выполняется путем сравнения двух сгенерированных файлов ~/.vnc/passwd
.
ISSUE / SSCCE
Существует разница между
my_input='0987poiu)(*&POIU'
test_var=$(echo $my_input | vncpasswd -f)
echo $test_var > /home/test_file_1
и
my_input='0987poiu)(*&POIU'
echo $my_input | vncpasswd -f > /home/test_file_2
Я пробовал использовать echo $my_input | tr -d '\n'
для удаления любых символов новой строки, но безрезультатно. Я также использовал printf
вместо echo
, что тоже не сработало.
Сохранение обфусцированного пароля в переменной и использование echo
или printf
для передачи этой переменной в файл не работает.
Я могу получить echo $my_input | vncpasswd -f > /home/test_file2
в соответствии с выводом ~/.vnc/passwd
, который был сгенерирован утилитой vncpasswd
, но это не желаемый порядок операций, и я хотел бы сохранить вывод vncpasswd -f
в переменную для дальнейшего использования в скрипте.
$ hexdump test_file_1
00000000 1921 65e6 2aaa 1c20 000a
00000009
$ hexdump test_file_2
00000000 1921 65e6 2aaa 1c09
00000008