Вы можете использовать bashgetopts
(вам нужно немного прокрутить вниз )для разбора командной строки:
#!/bin/bash
delimiter=:
first=1
second=2
while getopts d:f:s: FLAG; do
case $FLAG in
d) delimiter=$OPTARG;;
f) first=$OPTARG;;
s) second=$OPTARG;;
*) echo error >&2; exit 2;;
esac
done
shift $((OPTIND-1))
awk -F"$delimiter" -v "OFS=$delimiter" -v first="$first" -v second="$second" '{ print $first OFS $second }' "$@"
Это связано с тем, что -C
является глобальной опцией и не "принадлежит" действию status
. Это распространенная модель, приводящая к кратким описаниям, подобным приведенному ниже :
command [global options] action [action-specific options]
Вgit --help
перечислены глобальные параметры Git, а в man git
более подробно.