Как использовать каталоги XDG и пути в Bash?

Taskwarrior может сделать то, что Вы хотели немного лучше, чем простой сценарий оболочки. 30 вторых Учебных руководств должны сказать Вам, если я прав или неправ.

8
30.09.2013, 14:51
2 ответа

Те переменные среды являются все дополнительными. Если они не установлены затем, Ваш сценарий должен заменить значениями по умолчанию, данными в самой спецификации.

someprog --cachedir "${XDG_CACHE_HOME:-$HOME/.cache}"
4
27.01.2020, 20:13
  • 1
    Эти возможности являются одной из главных причин, почему я определяю их однажды как переменные среды, потому что я не хочу повторять значение по умолчанию на каждый "${XDG_CACHE_HOME:-~/.cache}" доступ. Оптимально там должен существовать подобный механизм, поскольку существует с "$(xdg-user-dir VIDEOS)" если то значение по умолчанию неявно. Тем путем я не должен помнить значение по умолчанию за каждую переменную XDG. –  Tim Friske 06.12.2012, 20:43
  • 2
    @Tim Friske: Отметьте это "${XDG_CACHE_HOME:-~/.cache}" является неправильным, нужно использовать "${XDG_CACHE_HOME:-$HOME/.cache}" вместо этого. –  Flimm 30.09.2013, 13:21

Плюс значения по умолчанию:

man xdg-user-dir=> СМ. ТАКЖЕ:xdg-user-dirs-update(1)

man xdg-user-dirs-update=> СМ. ТАКЖЕ:user-dirs.defaults(5)

man user-dirs.defaults=> user-dirs.defaultsпод первымXDG_CONFIG_DIRS(по умолчанию:/etc/xdg)

Так:

read -r -d : <<<"${XDG_CONFIG_DIRS:=/etc/xdg}" XDG_USER_DIRS_DEFAULTS
XDG_USER_DIRS_DEFAULTS+=/user-dirs.defaults
0
06.05.2020, 21:58

Теги

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