fish shell の関数とfish shellの組み込み関数 argparse
を組み合わせて, 既存のコマンドをラップしたコマンドを用意したいと思いました.
function checkupdates --description 'alias checkupdates=checkupdates'
argparse --name=checkupdates 'j/json' -- $argv
or return 1
# 省略
オプション -j
or --json
だけを指定したときに限りこのラップ関数は機能しますが, 既存コマンド (checkupdates
) の既存オプションを指定すると, エラーになってしまいます.
$ checkupdates -n --json
checkupdates: -n: unknown option
この場合, argparse
コマンドのオプション -i
or --ignore-unknown
を指定することで回避できます.
argparse -i --name=checkupdates 'j/json' -- $argv
参考