Переменные баша в команде

Я бы хотел, чтобы эта команда xrandr -s 640x480 использовала переменные вроде так

 #!/bin/bash display_x=640 display_y=480 xrandr -s $display_xx$display_y 

Команда работает неправильно. Как я могу это сделать?

2 Solutions collect form web for “Переменные баша в команде”

 #!/bin/bash display_x=640 display_y=480 xrandr -s ${display_x}x${display_y} 

Вы всегда должны помещать переменные оболочки в кавычки, если у вас нет веских оснований, и вы уверены, что знаете, что делаете. Поэтому ответ Deathgrip должен быть

 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 .

  • разрешение прилагаемого широкоэкранного
  • Структура матрицы для вращения экрана
  • Невозможно добавить новый режим в xrandr для внешнего монитора
  • Настройка монитора активна с помощью HDMI Splitter
  • Как управлять окном просмотра X11 из приложения
  • xrandr и панорамирование дают случайные результаты
  • Как автоматически изменить ориентацию в зависимости от положения поворота дисплея?
  • Как добавить дополнительное разрешение для моего экрана?
  • Как написать сценарий Bash для автоматической настройки разрешения экрана Просвещения 20, работающего под VirtualBox?
  • Xrandr не сохраняет настройки
  • Разрешение 2560x1440 по HDMI с ноутбуком с NVIDIA Optimus и Ubuntu 15.10
  • Linux и Unix - лучшая ОС в мире.