Docopt не устанавливает значения по умолчанию

У меня есть скрипт Bash, который использует документы. Он прекрасно работает на моем компьютере с Debian, но не может установить значения по умолчанию на моем ноутбуке с Ubuntu. Вот код документа:

eval "$(docopts -A args -V - -h - : "$@" <<EOF
Usage: cmus_select.sh [--list <tag>] [--random] [--structure=</alt/dir/structure>] [--dir=/path/to/music]

  -h --help                Show help
  -r --random              Randomize selection instead of using a dmenu
  -l --list TAG            List music by tag.  Unless you use -s, genre, artist, album, and song are expected. [default: song]
  -s --structure STRUCT    Directory structure for your music.  [default: genre/artist/album/song]
  -d --dir DIR             Location of music [default: $HOME/Music/]
----
cmus_select.sh 0.0.1
EOF
)"
  • Я нашел требование к двум пробелам и уже проверил это (не уверен, что форматирование stackru сожрет пробелы.)
  • Обе машины используют документацию 0.6.1+fix. Машина Debian использует bash 4.2.37 и python 2.7.3. Машина с Ubuntu работает на 4.2.45 и 2.7.5+.
  • Я попробовал множество способов описать варианты. Другой порядок списка -l/-. = знак между опцией и ее переменной. Имя вар в угловых скобках. И т.д. Он надежно работает в Debian, а не в Ubuntu.

-- следовать за--

Я столкнулся с той же проблемой на машине тестирования Debian. Докоптс ищет нового сопровождающего, поэтому я сдался. В качестве альтернативы я написал https://raw.github.com/sagotsky/.dotfiles/612fe9e5c4aa7e1fae268810b24f8f80960a6d66/scripts/argh.sh меньше, чем docopts, но делает то, что мне нужно.

0 ответов

Другие вопросы по тегам