Сначала установите xclip, imagemagick и jq!
pacman -S imagemagick jq xclip
У меня есть эта строка в моей конфигурации i3:
bindsym $mod+Print exec \
import -window $( \
i3-msg -t get_tree | \
jq 'recurse(.nodes[]) | select(.focused).window' \
) png:- | \
xclip -selection clipboard -t image/png
Это поместит скриншот активного окна в ваш буфер обмена, когда вы нажмете mod (Window / Alt) + Printscreen.
i3-msg -t get-tree получает все окна из i3 в формате json, затем мы используем jq для получения идентификатора окна, на которое наведен фокус. Мы передаем его команде импорта imagemagicks и передаем результат в xclip, который помещает его в буфер обмена!
Вы можете экранировать каждый проблемный символ с помощью\
(см. ответ Hunter.S.Thompson )или просто использовать одинарные кавычки, при этом заключенная строка записывается как есть:
(sudo crontab -l ; echo '0 6 1-7 * * [ $(/usr/bin/date +\%u) == 7 ] && sh '"$script_path > $log_path") | sort -u | sudo crontab -
Лично я стараюсь избегать экранирования символов, так как считаю, что это ухудшает читабельность.
Вы можете использовать \
перед знаком доллара, чтобы получить его буквальное значение.
(sudo crontab -l ; echo "0 6 1-7 * * [ \$(/usr/bin/date +\%u) == 7 ] && sh $script_path > $log_path") | sort - | uniq - | sudo crontab -