Когда я печатаю в терминале:
gnome-screenshot -a -f /home/manuel/Desktop/"`date`".png
У меня есть ожидаемый результат, создается файл с именем "dimanche 10 avril 2016, 23:36:50 (UTC+0200).png"
.
Однако, когда я пытаюсь связать это с помощью сочетания клавиш, вместо этого я получаю файл с именем
"`date`.png"
При дальнейшей попытке
bash -c "gnome-screenshot -a -f /home/manuel/Desktop/"`date`".png"
файл становится dimanche
это означает, что он останавливается на 1-м пробеле.
Я читал, что при цитировании переменной bash для включения пробелов необходимо использовать кавычки, что, как я и сделал. Поэтому позже я попытался присвоить команду date
переменной $times
и использовать "$times"
в команде, но с тем же результатом.
Спасибо, если никто не ответит, я надеюсь, что создание файла bash вместо этого решит это как последнее средство, как это было много раз раньше ...
Ярлыки в Параметрах настройки системы-> "Клавиатура"-> "Ярлыки"-> "Пользовательские Ярлыки" не выполняются в оболочке.
Вот почему gnome-screenshot -a -f /home/manuel/Desktop/"`date`".png
создает названный файл "`date`.png"
; /home/manuel/Desktop/"`date`".png
часть не интерпретируется и передается дословно gnome-screenshot
, который создает названный файл "`date`.png"
.
bash -c "gnome-screenshot -a -f /home/manuel/Desktop/"`date`".png"
вместо этого не работает просто, потому что Вы не выходите из второго уровня кавычек, который делает Bash выполненным date
в подоболочке uquoted, которая подвергается разделению слова.
Поэтому просто выйдите из второго уровня кавычек:
bash -c "gnome-screenshot -a -f /home/manuel/Desktop/\"`date`\".png"
Или еще лучшие одинарные кавычки использования во внешней команде так для не выхода из второго уровня кавычек:
bash -c 'gnome-screenshot -a -f /home/manuel/Desktop/"`date`".png'
На использовании примечания стороны ``
удерживается от использования и препятствуется; было бы лучше использовать $()
:
bash -c 'gnome-screenshot -a -f /home/manuel/Desktop/"$(date)".png'
Создайте executeable сценарий:
Редактирование файл т.е./usr/bin/myscreenshot с редактором по Вашему выбору как корень, т.е.
sudo vi /usr/bin/myscreenshot
Вставка это содержание в файле
#!/bin/bah
gnome-screenshot -a -f "/home/$USER/Desktop/`date`.png"
Делают файл, чтобы быть executeable сценарием:
sudo chmod +x /usr/bin/myscreenshot
Finaly создают сочетание клавиш к этой программе, и она должна быть сделана.