Appearance
Shell 脚本参数声明
1. 示例
test.shBash
#!/bin/bash
PARSED=$(getopt -o a:b:c --long alpha:,bravo:,charlie -n "$(basename "$0")" -- "$@")
if [[ $? -ne 0 ]]; then
echo "Failed to parse options." >&2
exit 1
fi
eval set -- "$PARSED"
while true; do
case "$1" in
-a|--alpha)
echo "Option a (alpha): $2"
shift 2
;;
-b|--bravo)
echo "Option b (bravo): $2"
shift 2
;;
-c|--charlie)
echo "Option c (charlie) (no argument)"
shift
;;
--)
shift
break
;;
*)
echo "Invalid option: $1" >&2
exit 1
;;
esac
done
for arg in "$@"; do
echo "Remaining argument: $arg"
done