Использование sed
:
some_command | sed -n 'p;$='
Например:
$ touch file.{a..k}
$ printf '%s\n' * | sed -n 'p;$='
file.a
file.b
file.c
file.d
file.e
file.f
file.g
file.h
file.i
file.j
file.k
11
Сценарий sed
просто скопирует ввод в вывод с помощью команды печати (p
) применяется к каждой строке ввода, но для последней строки ($
) также будет напечатан номер строки (=
).
#!/bin/bash
display_x=640
display_y=480
xrandr -s ${display_x}x${display_y}
Вы всегда должны заключать переменные оболочки в кавычки если у вас нет веской причины не делать этого, и вы уверены, что знаете, что делаете. Таким образом Ответ Дезхватки должен быть
xrandr -s "${display_x}x${display_y}"
Я бы, наверное, так и сделал. Но
xrandr -s "$display_x"x"$display_y"
также будет работать. Вот еще один подход:
display_x=640
display_y=480
x=x
xrandr -s "$display_x$x$display_y"
— что-нибудь сказать оболочке что вы не пытаетесь сослаться на переменную с именем display_xx
.