296

curl 要求の HTTP 応答本文に末尾の改行が含まれていない場合、シェル プロンプトが行の途中にあるという非常に厄介な状態になり、最後の curl を入力したときにエスケープがめちゃくちゃになってしまいます。画面上のコマンドで、その curl コマンドから文字を削除すると、間違った文字が削除されます。

例えば:

[root@localhost ~]# curl jsonip.com
{"ip":"10.10.10.10","about":"/about"}[root@localhost ~]#

画面の左端にプロンプ​​トを戻すために、カール応答の最後に改行を自動的に追加するために使用できるトリックはありますか?

4

5 に答える 5

517

man ファイルから:

スクリプト プログラマーが curl の進行状況をよりよく把握できるようにするために、-w/--write-out オプションが導入されました。これを使用して、以前の転送から抽出する情報を指定できます。

ダウンロードされたバイト数をテキストと末尾の改行とともに表示するには:

curl -w 'We downloaded %{size_download} bytes\n' www.download.com

したがって、~/.curlrcファイルに次を追加してみてください。

-w "\n"
于 2013-01-30T21:32:43.560 に答える
123

これを使って:

curl jsonip.com; echo 

パイプにフィードするためにグループ化が必要な場合:

{ curl jsonip.com; echo; } | tee new_file_with_newline

出力

{"ip":"x.x.x.x","about":"/about"}

これはとても簡単です;)

(curl コマンドに限らず、改行で終わらないすべてのコマンド)

于 2012-10-11T22:34:25.230 に答える