Вы делаете его излишне сложным. Вам нужна лишь пара удобных функций:
enc () {openssl enc -aes-256-cbc -in "$@"}
dec () {openssl enc -d -aes-256-cbc -in "$@"}
Если вы не задали openssl
пароль или ключ, он запросит его, что означает, что вам не нужно встраивать его в команду.
Для шифрования файла:
enc foo > foo.enc
Для расшифровки файла:
dec foo.enc
Которые, естественно, могут быть переданы другим командам:
dec foo.enc | wc -l
Думаю, вам нужна функция, т.е.:
function dl() {
URL="$1"
NAME=$(egrep -io 'filename[0-9]{1,2}\.ext' <<< "$URL")
echo wget -O "$NAME" "$URL"
}
Теперь вы можете использовать функцию dl
:
$ for url in $(cat url_list.txt); do dl $url; done
wget -O Filename01.ext https://server.com/Nonsense%20text%20Actual%20Filename01.ext<br>
wget -O Filename02.ext https://server.com/Non%20essential%20text%20Actual%20Filename02.ext<br>
wget -O Filename03.ext https://server.com/Not%20required%20text%20Actual%20Filename03.ext<br>