Intereting Posts
используя переменную «файл», полученную из «for» файла «in», и перейти к другому скрипту не удалось Неужели systemd делает dig / nslookup бесполезным? В отличие от статического имени хоста и имени значка и довольно имени хоста в RHEL 7 Какое влияние имеет приоритет на выполнение фоновой задачи? Два шлюза в одной VLAN Событие SparesMissing было обнаружено на устройстве md / dev / md0 Как работает `: w! Sudo tee%` Интеграция LDAP и Kerberos V для добавления пользователей через пользовательский интерфейс Быстрый запуск диспетчера задач в Linux? Есть ли способ заблокировать название терминала? Легкая голосовая связь между двумя компьютерами в двух странах? UDEV выполняет скрипт bash только частично Через некоторое время Wifi Как настроить произвольное разрешение с помощью xrandr, когда разрешение недоступно в «Настройки экрана», Есть ли какой-либо шаблон для указания целевых троек в GCC?

вывод printf в следующую строку

Я создал Bash SS в vi . Мой выход работает в строке под ним. Я новичок в UNIX, поэтому я стараюсь учиться. Мой вывод отображается с помощью printf .

 printf "%-15s %15s %15s %2d\n %2s " $name $days $phone $start $time 

Результат выглядит так, например,

 name days phone start time name days phone start time name days phone start etc... 

Как заставить все пять моих переменных печатать на одной строке?

Ваша команда:

 printf "%-15s %15s %15s %2d\n %2s " $name $days $phone $start $time 

Твоя проблема:

 '...\n %2s' 

Вы вставляете новую строку перед $time . Прекрати это. Делать:

 printf '%-15s %15s %15s %2d %2s\n' \ "$name" "$days" "$phone" "$start" "$time" 

В дополнение к ответу @ mikeserv вы можете увидеть полный список элементов управления форматом для вывода от man 1 printf :

  \" double quote \\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape \f form feed \n new line \r carriage return \t horizontal tab \v vertical tab \NNN byte with octal value NNN (1 to 3 digits) \xHH byte with hexadecimal value HH (1 to 2 digits) \uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits) \UHHHHHHHH Unicode character with hex value HHHHHHHH (8 digits) %% a single % %b ARGUMENT as a string with `\' escapes interpreted, except that octal escapes are of the form \0 or \0NNN 

Вы должны прочитать man <command name> чтобы узнать, как использовать команду в любой операционной системе *nix .