17 Haziran 2019 Pazartesi

bash kodlama echo built-in komutu

Giriş
Açıklaması şöyle. Bu komut yerine printf komutu tercih edilmeli. Çünkü echo komutu parametreler arasına bir boşluk yerleştiriyor ve en sona da bir \n ekliyor.
Display the ARGs, separated by a single space character and followed by a newline, on the standard output.
Bir başka açıklama şöyle
echo prints its arguments separated by spaces, even if they include (or generate) newline characters. Additionally it adds one newline character at the end of its output (unless it's echo -n).
...
When echo does something unexpected, always consider printf. After you get familiar with printf it may even become your first choice.
Bu built-in komut dışında bir de /bin/echo uygulaması var.
Örnek
Şöyle yaparız.
$ echo small*jpg
small1.jpg small2.jpg small photo 1.jpg small photo 2.jpg
-e seçeneği
Açıklaması şöyle. backslah ile escape edilmesi gereken karater varsa kullanılır.
enable interpretation of backslash escapes
Örnek
Şöyle yaparız
$ echo -e 'first\tsecond\tthird'
first   second  third
Örnek
Şöyle yaparız
echo -e "\n"{0..4..2}" "{0..2..2}
Çıktı olarak şunu alırız. En başta boş bir satır olur

0 0
0 2
2 0
2 2
4 0
4 2
Örnek
xxd kullanarak şöyle yaparız.
echo "00 FF AB" | xxd -r -p | program
echo kullanarak şöyle yaparız.
echo -e "\x41\x42\x43\x44" | program


Hiç yorum yok:

Yorum Gönder