GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Echotext nach Curl-Befehl in derselben Zeile?

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

gibt zurück:

abcer: gws

und bash -x zeigt:

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

aber

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

zurück

abc Server: gws

Mit anderen Worten, wenn ich Text NACH dem curl-Befehl hinzufüge, wird er verstümmelt, aber es ist in Ordnung, wenn ich ihn vor curl hinzufüge.
Was passiert? Ich kann es nicht herausfinden.

Akzeptierte Antwort:

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

zeigt, dass der von curl zurückgegebene Wert ein ^M (ein Wagenrücklauf) hat. Wenn Sie die Ausgabe von curl ausdrucken, bringt der Wagenrücklauf den „Cursor“ zurück zum Anfang der Zeile, wo er dann das „abc“ ausgibt und „Serv“ überschreibt.

Bei Ihrem zweiten Versuch hat der Wagenrücklauf keine offensichtliche Wirkung.


Linux
  1. Bash Echo Die Befehlszeile wird in der Befehlszeile selbst ausgeführt (nicht in einem Skript)?

  2. Laden Sie Dateien über die Befehlszeile in Linux herunter

  3. Erstellen Sie Dateien mithilfe der Befehlszeile in Linux

  4. Generieren eines SHA-256-Hashs über die Linux-Befehlszeile

  5. Paralleler Download mit dem Curl-Befehlszeilendienstprogramm

Verwenden von more zum Anzeigen von Textdateien in der Linux-Befehlszeile

Verwenden von less zum Anzeigen von Textdateien in der Linux-Befehlszeile

So verwenden Sie Nano, den Linux-Befehlszeilen-Texteditor

Bearbeiten von Text in der Befehlszeile mit grep

Micro – Ein befehlszeilenbasierter Texteditor für Linux

Die 10 besten Lite-Befehlszeilen-Texteditoren unter Linux[Einfach zu bedienen]