[英]bash pipe variable in another command
我想執行 open-ssl 來多次加密一個帶有 wordlist 的文件。 每次我使用:
openssl enc -e -rc4 -in plain -out cipher
enter rc4 encryption password:
我想做的是
echo "differentpasswordeverytime" | openssl enc -e -rc4 -in plain -out cipher
我已經完成了 while 循環,但我找不到將其解析為 openssl 的方法。 這應該是通過 openssl 的 STDIN 嗎?
我發現了另外 2 個關於標准輸入和解析輸入的帖子,但這些沒有用。
干杯
引用man openssl
(接近結尾):
通過相關論點
有幾個命令接受密碼參數,通常分別使用
-passin
和-passout
作為輸入和輸出密碼。 這些允許從各種來源獲得密碼。 這兩個選項都采用單個參數,其格式如下所述。 如果沒有給出密碼參數並且需要密碼,則提示用戶輸入一個:通常會在關閉回顯的情況下從當前終端讀取該密碼。
接下來是獲取密碼的可能方式列表。 我認為你想要的是stdin
,盡管使用環境變量的選項可能會更好。 (您需要export
該變量才能工作。)
我建議你仔細閱讀說明,同時考慮到安全隱患。 您還應該閱讀您正在使用的子命令( enc
)的聯機幫助頁,或者如果您指定了一個它不理解的選項,則至少要閱讀所提供的摘要。
(在enc
中,指定的實際的選擇是既不-passin
也不-passout
而是-pass
。)
如果要將變量通過管道傳輸到命令中,則應使用echo
但要小心,因為實現可能會有所不同,並且多行變量有時會折疊為一行。 對我來說 bash echo "$variable" | command
echo "$variable" | command
有效,並保留多行字符串。
如果您希望內部/n
和其他轉義字符被評估為換行符,您應該像這樣傳遞-e
標志:
echo -e "$variable" | command
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.