GNU/Linux >> Znalost Linux >  >> Linux

Liché výsledky operací base64

Porovnejte výstup těchto dvou příkazů:

echo "MjAyMS0wMS0xMy56aXA="  | base64 --decode | od -c
echo "2021-01-13.zip" | od -c

Uvidíte, že v base64 --decode není žádný znak nového řádku vytiskne (protože řetězec, kterým začínáte, zřejmě nekóduje znak nového řádku). V echo je znak nového řádku vytiskne (protože takto echo funguje). Nyní zkuste toto:

echo -n "2021-01-13.zip"  | base64

Nebo lépe:

printf '%s' "2021-01-13.zip"  | base64

Echo standardně přidává znak na konci řádku.

Zkuste to bez přidání konce řádku:

> echo -n "2021-01-13.zip"  | base64
MjAyMS0wMS0xMy56aXA=

Linux
  1. Příklady příkazů echo v Linuxu

  2. echo:příkaz nenalezen

  3. Původ kworker-vlákna

  1. Proč je Printf lepší než Echo?

  2. spustit sieve na maildir

  3. Co znamená echo $? dělat?

  1. Výsledky Du na souborovém systému jsou v rozporu s Df?

  2. Kódovat obsah souboru a echovat jej jako jeden řádek?

  3. Změnit písmo v příkazu Echo?