GNU/Linux >> Linux Esercitazione >  >> Linux

Ripeti il ​​testo dopo il comando arricciatura sulla stessa riga?

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

resi:

abcer: gws

e bash -x mostra:

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

ma

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

resi

abc Server: gws

In altre parole, se aggiungo del testo DOPO il comando curl, viene alterato, ma va bene se lo aggiungo prima di curl.
Cosa sta succedendo? Non riesco a capirlo.

Risposta accettata:

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

mostra che il valore restituito da curl ha un ^M (un ritorno a capo). Quando si stampa l'output dell'arricciatura, il ritorno a capo riporta il "cursore" all'inizio della riga, dove stampa "abc", sovrascrivendo "Serv".

Nel tuo secondo tentativo, il ritorno a capo non ha effetti evidenti.


Linux
  1. Manipolazione del testo da riga di comando con sed

  2. Scarica i file tramite la riga di comando in Linux

  3. Crea file utilizzando la riga di comando in Linux

  4. Generazione di un hash SHA-256 dalla riga di comando di Linux

  5. Aggiungi un'interruzione di riga all'output del comando

Utilizzo di più per visualizzare i file di testo dalla riga di comando di Linux

Utilizzo di less per visualizzare i file di testo dalla riga di comando di Linux

Come utilizzare Nano, l'editor di testo della riga di comando di Linux

Manipolazione del testo dalla riga di comando con grep

Micro:un editor di testo basato su riga di comando per Linux

10 migliori editor di testo a riga di comando Lite in Linux [facile da usare]