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, но делает то, что мне нужно.