Вопрос: Передать значение переменной как аргумент команды


Я хочу, чтобы xdotool введите текущую дату автоматически и напишите этот сценарий bash как первую попытку:

#!/bin/bash          
STR="Hello World!"
xdotool type $STR

К сожалению, на этом уже не получается. Он просто набирает ... что-то ... Что-то вроде «<[<[<" или "H [ll ==] l {₁". Почему это? Как заставить его ввести строку или текущую дату (формат: YYYY-MM-DD, поэтому сегодня 2016-01-06)?


1
2018-01-06 12:48


Источник


Странно, это работает на моем конце. Можете ли вы сделать быстрый тест? Переместите ~/.bashrc например в ~/.bashrc.bak, скопируйте свежий .bashrc из /etc/skel в ~/, запустите новый экземпляр Bash (exec bash) и попробуй еще раз. Это все еще происходит? - kos
И .bashrc в моей домашней папке и в /etc/skel иметь sha256sum 6fec775ff07e8424bbd774f8d6659dadfca37fd77ee66e2b9db92e3d045273ba, Так что это не сработает. мой .bashrc файл даже не модифицирован. - UTF-8
Я просто протестировал его на виртуальной машине (не Ubuntu, хотя), и это действительно сработало. Но это не моя реальная система. - UTF-8


Ответы:


#!/bin/bash          
xdotool type `date +%Y-%m-%d`

0
2018-01-06 13:12



Спасибо! Я знал, что это так, но я не мог вспомнить об этом. Но можете ли вы сказать мне, почему печатать содержимое переменной не получилось? - UTF-8
Он работает в терминальном окне, но если я использую его как ярлык (в зависимости от приложения), он либо ничего не делает (GEdit), не создает некоторых символов (он типа +%-%-% в тире), или имеет какое-то другое странное поведение (меняет масштаб и выталкивает меня из текстового поля, которое я пишу в Firefox). - UTF-8
Я теперь принял это как ответ, потому что он работает на моей системе Ubuntu 16.04. - UTF-8


я использовал STR="Hello World!" && xdotool type $STR который, казалось, работал. Не знаю, почему вы не работали. если вы хотите отлаживать скрипты bash, вы можете использовать встроенную оболочку set -xv для получения подробных сведений.

#!/bin/bash          
set -xv
STR="Good Bye Cruel World!"  && xdotool type $STR

0
2018-01-07 06:41



Он печатает это: pastebin.com/ugE6C1Gg Который ... еще более запутанный, я думаю ... - UTF-8