我正在腳本化捲曲調用,可以通過STDIN輸入密碼&(將密碼保持在cmd行之外)。BASH:如何將參數和數據發送到STDIN上的進程
我還需要在STDIN上發送POST數據(大量的數據不適合cmd行)。
所以,在命令行中我可以成功做到這一點的:
> curl -K --data-binary @- -other_non-pw_params
> -u "username:password"
> <User types ctrl-d>
> lots_of_post_data
> lots_of_post_data
> <User types ctrl-d>
> <User types ctrl-d>
現在...我嘗試這樣做,在bash腳本...
一廂情願Psudo -code:
{ echo '-u "username:password"'
echo <ctrl-d> | cat dev/null | ^D
echo lots_of_post_data
echo lots_of_post_data
} | curl -K --data-binary @- -other_non-pw_params
你不遠了......我想你需要改變的是到適當的轉義序列,等有你試過了嗎? –
Flimzy
不知道我會使用什麼轉義序列。 –
echo手冊頁告訴你它支持哪些轉義序列。但我認爲Ignacio的答案是正確的 - Bash不能「關閉」STDOUT,而這正是您需要的。如果您需要發送Ctrl-D/EOF,您可能需要比shell腳本更復雜的東西。 – Flimzy