2015-07-24 2 views
3

Мне нужно запустить Google Chrome на Linux с помощью следующего параметра командной строки:команду Выполнить в командной строке опцию Linux

google-chrome --touch-devices=14 

для того, чтобы правильно определить сенсорный экран. Разумеется, номер сенсорного устройства меняется в новом сеансе.

я могу узнать, что число (здесь 14) Мне нужно ввести в команду, выполнив следующие действия:

xinput -list | grep -o "Touchscreen.*id=[0-9]*" | grep -o [0-9]* 

Естественно, было бы неплохо, чтобы иметь возможность вставлять их в одну команду, но Я не знаю, как запустить команду внутри параметра командной строки.

Любая помощь будет принята с благодарностью.

ответ

2
google-chrome --touch-devices="$(xinput -list | grep -o "Touchscreen.*id=[0-9]*" | grep -o [0-9]*)" 
google-chrome --touch-devices="`xinput -list | grep -o "Touchscreen.*id=[0-9]*" | grep -o [0-9]*`" 

Первый предпочтительный.

СОВЕТ: Лучше всего сначала выполнить команду xinput, убедитесь, что выход является ожидаемым, а затем передать его в google-chrome

+0

Спасибо. Кажется, мне еще многое предстоит узнать об основах. – alinafdima

+0

@alinafdima: никогда не поздно :) –

+0

Цитирование подстановок команд в случае, если что-то пойдет не так, и они возвращают более одного слова, вероятно, хорошая идея. Разумеется, лучше было бы проверять ошибки отдельно. –

3

Вы можете использовать command substitution:

$ google-chrome --touch-devices="$(xinput -list | grep -o "Touchscreen.*id=[0-9]*" | grep -o [0-9]*)" 
+1

Цитирование подстановок команд в случае, если что-то пойдет не так, и они возвращают более одного слова, вероятно, хорошая идея. Разумеется, лучше было бы проверять ошибки отдельно. –

+0

@ EtanReisner: справа, thx –

Смежные вопросы