GNU/Linux >> Linux の 問題 >  >> Linux

同じ行のカールコマンドの後にテキストをエコーし​​ますか?

#!/bin/bash
echo "$(curl -s -I https://google.com|grep Server)" abc

戻り値:

abcer: gws

およびbash -x ショー:

++ grep Server
++ curl -s -I https://google.com
' abco 'Server: gws
 abcer: gws

しかし

echo abc "$(curl -s -I https://google.com|grep Server)"` 

返品

abc Server: gws

つまり、curlコマンドの後にテキストを追加すると、テキストが壊れてしまいますが、curlの前にテキストを追加しても問題ありません。
どうなっていますか?わかりません。

承認された回答:

echo $(curl -s -I https://google.com|grep Server)|cat -A

は、curlによって返される値に^ M(キャリッジリターン)があることを示しています。カールの出力を印刷すると、キャリッジリターンによって「カーソル」が行の先頭に戻り、「abc」が印刷されて「Serv」が上書きされます。

2回目の試行では、キャリッジリターンは明らかな影響を及ぼしません。


Linux
  1. Bash Echoコマンドライン自体で実行されるコマンドライン(スクリプトではない)?

  2. コマンドへの引数としてテキストファイルの各行を解析する方法は?

  3. Linuxのコマンドラインからファイルをダウンロードする

  1. Linux コマンドラインからの SHA-256 ハッシュの生成

  2. Curl コマンド ライン ユーティリティを使用した並列ダウンロード

  3. bash の改行でテキストをエコーする

  1. sedを使用してコマンドラインでテキストを操作する

  2. 変数の割り当て後に同じ行でコマンドを実行するのはシェルポータブルですか?

  3. コマンド出力に改行を追加する