Скрипт для замены $HOME в пути на тильду ~

Есть много вариантов. Вот несколько:

  • Настройте любую службу общего доступа к экрану так, чтобы она запускалась при каждом запуске вашего htpc.
  • Используйте встроенную утилиту общего доступа к рабочему столу vino, если вы используете gnome:https://access.redhat.com/solutions/346033
  • Этот проект:http://www.karlrunge.com/x11vnc/
  • Используйте Bluetooth-мышь и клавиатуру.

-3
28.10.2019, 21:49
1 ответ

Несколько вещей мешают вашей команде работать.

Во-первых, bash никогда не будет выполнять раскрытие переменных (, раскрытие команд и т. д. )в одинарных кавычках. Вам нужно будет использовать двойные кавычки.

Кроме того, весьма вероятно, что $HOMEсодержит по крайней мере одну косую черту, поэтому использование символа косой черты в вашей команде sedв качестве разделителя между целевой и замещающей строками означает, что вам нужно экранировать любые косые черты, присутствующие в $HOME:

. ]
$ echo $HOME | sed "s/${HOME//\//\\\/}/~/"
~

Отвечая на ваш комментарий ниже, да, вы также можете использовать операторы строковых переменных bashдля выполнения этого, и несколько более лаконично при этом:

$ echo $A
/home/jim/screenshot.png
$ echo "${A/$HOME/\~}" 
~/screenshot.png
2
28.01.2020, 05:19

Теги

Похожие вопросы