Najlepszy samouczek Polecenie powłoki printf W 2024 r. W tym samouczku możesz dowiedzieć się sekwencja ucieczki w printf,
W ostatnim rozdziale dowiedzieliśmy Shell echo polecenia, w tym rozdziale nauczymy innego wyjścia Shell polecenia printf.
polecenia printf naśladować C Library (biblioteka) w printf () procedury.
Standardowa rozdzielczość, więc skrypt wykorzystanie printf lepsza niż echo przenośność.
printf używając tekstu odniesienia lub parametrów oddzielonych spacjami, mogą być stosowane na zewnątrz łańcucha formatu printf, można również rozwijać szerokość napisu, i tak dalej lewego i prawego wyrównania. Domyślnie printf nie automatycznie dodać podział wiersza, jak echo, możemy dodać \ n ręcznie.
printf Składnia polecenia:
printf format-string [argumentspl.]
Parametr Opis:
Przykłady są następujące:
$ echo "Hello, Shell" Hello, Shell $ printf "Hello, Shell\n" Hello, Shell $
Następnie używam skryptu odzwierciedlać silny printf:
#!/bin/bash # author:本教程 # url:www.w3write.com printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234 printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543 printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876
Wykonaj skrypt, wyjście jest w następujący sposób:
姓名 性别 体重kg 郭靖 男 66.12 杨过 男 48.65 郭芙 女 47.99
% S% c% d% f Format są zastępcze
% -10s Odnoszą się do szerokości 10 znaków (- dla wyrównania do lewej, prawej wyrównany, że nie), wszystkie znaki są wyświetlane w 10 znaków szerokich znaków, jeśli za mało miejsca jest automatycznie wypełniane, to będzie więcej niż treści pokaż wszystkie z nich.
% -4.2f Dotyczy formacie dziesiętnym, co oznacza .2 2 miejsc po przecinku.
Więcej przykładów:
#!/bin/bash # author:本教程 # url:www.w3write.com # format-string为双引号 printf "%d %s\n" 1 "abc" # 单引号与双引号效果一样 printf '%d %s\n' 1 "abc" # 没有引号也可以输出 printf %s abcdef # 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用 printf %s abc def printf "%s\n" abc def printf "%s %s %s\n" a b c d e f g h i j # 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替 printf "%s and %d \n"
Wykonaj skrypt, wyjście jest w następujący sposób:
1 abc 1 abc abcdefabcdefabc def a b c d e f g h i j and 0
sekwencja | wyjaśnienie |
---|---|
\ a | Ostrzeżenie znak, zwykle znak ASCII BEL |
\ B | rekolekcje |
\ C | Hamowanie (nie pokazano), wyjście w każdych końcowe znaki nowej linii (ważny tylko w łańcuchu parametrów pod% wskaźnika formatu b kontrolowanego), a żadnych znaków pozostawionych w parametrach oraz wszelkich parametrów i każdego kolejnego pobytu w znaków format string są ignorowane |
\ F | FF (Wysuw) |
\ N | Wrap |
\ R | Enter (powrót karetki) |
\ T | Zakładka pozioma |
\ V | Zakładka pionie |
\\ | Dosłowne znak backslash |
\ Ddd | Reprezentowania znaków 1-3 cyfr wartości ósemkowej. Obowiązuje tylko w ciągu formatu |
\ 0ddd | Wyświetlono 1-3 wartość liczbowa znaku |
$ printf "a string, no processing:<%s>\n" "A\nB" a string, no processing:<A\nB> $ printf "a string, no processing:<%b>\n" "A\nB" a string, no processing:<A B> $ printf "www.w3write.com \a" www.w3write.com $ #不换行