Шифровать каждый элемент в папке в Bash

У меня есть код, который должен шифровать каждый файл в папке, но когда я помещаю его (код шифрования) в бесконечный цикл, он не работает.

touch Out_file.txt
ls > Out_file.txt
i = 0
while:
i = i + 1
line=$(head -n $i Out_file.txt)
openssl cbc -aes-256-cbc -pass pass:Hello123  -p -in $line -out $line.enc
done

Возможно, он сможет зашифровать все ваши файлы в папке, в которой вы запускаете программу, поэтому будьте осторожны.

1 ответ

Как насчет:

(просто упрощая то, как мы создаем список файлов и просматриваем их)


touch Out_file.txt
#write only filename to Out_file.txt
ls -l | awk 'NF>1{print $NF}' > Out_file.txt
while read filename; do
  openssl cbc -aes-256-cbc -pass pass:Hello123  -p -in $filename -out $filename.enc
done <Out_file.txt

Удачи.

Другие вопросы по тегам