GNU/Linux >> Znalost Linux >  >> Linux

Odezva textu po příkazu Curl na stejném řádku?

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

vrátí:

abcer: gws

a bash -x ukazuje:

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

ale

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

vrací

abc Server: gws

Jinými slovy, pokud přidám text ZA příkazem curl, zkazí se, ale je v pořádku, když ho přidám před curl.
Co se děje? Nemohu na to přijít.

Přijatá odpověď:

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

ukazuje, že hodnota vrácená curl má ^M (návrat vozíku). Když vytisknete výstup zvlnění, návrat vozíku přesune „kurzor“ zpět na začátek řádku, kde pak vytiskne „abc“, čímž přepíše „Serv“.

Při druhém pokusu nemá návrat vozíku žádný zjevný účinek.


Linux
  1. Je Shell přenosný ke spuštění příkazu na stejném řádku po přiřazení proměnné?

  2. Jak analyzovat každý řádek textového souboru jako argument příkazu?

  3. echo text s novým řádkem v bash

  1. Manipulace s textem na příkazovém řádku pomocí sed

  2. Bash Echo Příkazový řádek spuštěn na samotném příkazovém řádku (ne ve skriptu)?

  3. Jak si stojí příkazový řádek Macu v porovnání s Linuxem?

  1. Spustit příkaz Sudo a zadat heslo na stejném řádku?

  2. Stahujte soubory přes příkazový řádek v Linuxu

  3. Vytvářejte soubory pomocí příkazového řádku v Linuxu