docopts を使用する bash スクリプトがあります。Debian マシンでは問題なく動作しますが、Ubuntu ラップトップではデフォルトを設定できません。docopts コードは次のとおりです。
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
)"
- 私は2つのスペース要件を見つけ、すでにそれをチェックしました(stackoverflowフォーマットがスペースを消費するかどうかはわかりません.)
- どちらのマシンも docopts 0.6.1+fix を使用しています。debian マシンは bash 4.2.37 と python 2.7.3 を使用します。ubuntu マシンは 4.2.45 および 2.7.5 以降です。
- オプションを説明するためにさまざまな方法を試しました。-l/--list の順序が異なります。オプションとその変数の間の = 記号。山括弧内の変数名。など。Ubuntuではなく、debianで確実に動作します。
- ファローアップ -
Debian テスト マシンで同じ問題が発生しました。Docopts は新しいメンテナを探しているので、断念しました。別の方法として、 https: //raw.github.com/sagotsky/.dotfiles/612fe9e5c4aa7e1fae268810b24f8f80960a6d66/scripts/argh.shを書きました。これは docopts よりも小さいですが、必要なことは実行します。