Příkaz „echo“ vždy přidá nový řádek, když jej spustíte v příkazové konzoli. To je praktické, když chcete vytisknout proměnné prostředí a další informace. Odděluje jednotlivé informace v příkazu a usnadňuje jejich identifikaci.
Pokud však chcete výstup zkopírovat a použít v jiné konzole, může být problém s dalším řádkem. Také, pokud potřebujete použít příkaz echo, ale chcete vytvořit soubor CSV, neviditelná čára může učinit veškeré vaše úsilí marným.
Tento článek vysvětlí, jak používat příkaz ‚echo‘ bez vytvoření nového řádku pro různé platformy.
Jak echo bez nového řádku v příkazovém řádku Windows
Pokud máte Windows 10, můžete vstoupit do příkazového řádku a zadat své příkazy. Existují způsoby, kde může nový řádek způsobit problémy, zejména pokud chcete zkopírovat výstup a použít jej mimo příkazový řádek.
Pokud tedy ve výzvě napíšete „echo 1“ jako příkaz, dostanete 1 jako výstup, po kterém bude následovat nový řádek a další vstupní řádek.
Pokud však chcete použít stejný příkaz bez přidání nového řádku, musíte za „echo“ zadat další příkazy.
Pojďme si to projít krok za krokem:
- Současným stisknutím kláves „Windows“ a „R“ otevřete okno „Spustit“.
- Do pole Otevřít zadejte „cmd“.
- Do příkazového řádku zadejte následující příkaz:
echo | set /p=váš text nebo proměnná (v tomto příkladu je to „1“)
- Pro provedení tohoto příkazu stiskněte „Enter“.
- Neměli byste mezi tím vidět nový řádek.
Pokud chcete výstup zkopírovat do schránky, budete muset použít příkaz ‚echo‘ s příkazem ‚clip‘.
- Použijte následující kód:
echo | set /p=váš text nebo proměnná|klip
- Příkaz „clip“ zkopíruje text nebo proměnnou do schránky.
- Otevřete libovolný textový nástroj. Například Poznámkový blok.
- Vložte do něj schránku.
- Výstup byste měli vidět v řetězci textu v programu Poznámkový blok.
Jak echo bez nového řádku v Bash
Bash je příkazová konzole v Linuxu a Mac OS, která také rozpoznává příkaz „echo“. V případě Bash, echo také vytvoří nový řádek ve výstupu, ale můžete použít různé kroky k jeho zastavení.
Nejlepší způsob, jak odstranit nový řádek, je přidat „-n“. To signalizuje nepřidávat nový řádek.
Pokud chcete psát složitější příkazy nebo seřadit vše na jednom řádku, měli byste použít volbu ‚-n‘.
Pokud například zadáte kód:
pro x v ${array[@]}
dělat
echo $x
hotovo| třídit
Příkaz ‚echo $x‘ seřadí proměnné do samostatných řádků. Může to vypadat nějak takto:
1
2
3
4
5
Takže nevytiskne čísla na stejném řádku.
Existuje způsob, jak zobrazit výstup na jednom řádku; stačí použít příkaz „-n“.
Vypadalo by to takto:
pro x v ${array[@]}
dělat
echo -n $x
hotovo| třídit
Stiskněte return a měli byste vidět čísla na stejném řádku.
Echo s příkazem Printf v Bash
Dalším způsobem, jak se vyhnout přidání nového řádku s ‚echo‘, je zkombinovat jej s příkazem ‚printf‘.
Použijme například následující kód:
NewLine=`printf “n”`
echo -e “Řádek1${NewLine}Řádek2”
Bez přidání mezery za „n“ získáte tento výsledek:
Řádek1Řádek2
Pokud však za „n“ přidáte mezeru takto:
NewLine=`printf “n “`
echo -e “Řádek1{NewLine}Řádek2”
Získáte následující výsledek:
Řádek1
Řádek2
Pokud chcete, aby se všechny vaše vstupy z nějakého důvodu tiskly na stejný řádek, můžete vždy použít první příklad.
A co PowerShell?
Windows PowerShell nevytváří nový řádek pomocí příkazu echo. Pokud ale chcete přidat obsah přímo do textového souboru přes PowerShell, měli byste za text nebo proměnnou napsat příkaz ‚-NoNewline‘.
To je mimořádně užitečné například pro vytváření souboru CSV. Nebo, pokud z nějakého důvodu potřebujete, aby všechny vaše proměnné zůstaly na stejném řádku.
Všimněte si, že bez příkazu „-NoNewLine“ se po dosažení konce řádku automaticky přesune na nový řádek.
Thorova ozvěna
Nyní, když víte, jak se vyhnout přidání nového řádku s echem, můžete pokračovat v kódování.
Pokud znáte jiné způsoby, jak toho dosáhnout, nezapomeňte se podělit s komunitou v komentářích. Předem děkuji.