Parse option arguments. Getopts is used by shell procedures to parse positional parameters as options. OPTSTRING contains the option letters to be recognised; if a letter is followed by a colon, the option is expected to have an argument, which should be separated from it by white space. Each time it is invoked, getopts will place the next option in the shell variable $name, initialising name if it does not exist, and the index of the next argument to be processed into the shell variable OPTIND. OPTIND is initialised to 1 each time the shell or a shell script is invoked. When an option requires an argument, getopts places that argument into the shell variable OPTARG. getopts reports errors in one of two ways. If the first character of OPTSTRING is a colon, getopts uses silent error reporting. In this mode, no error messages are printed. If an invalid option is seen, getopts places the option character found into OPTARG. If a required argument is not found, getopts places a ':' into NAME and sets OPTARG to the option character found. If getopts is not in silent mode, and an invalid option is seen, getopts places '?' into NAME and unsets OPTARG. If a required argument is not found, a '?' is placed in NAME, OPTARG is unset, and a diagnostic message is printed. If the shell variable OPTERR has the value 0, getopts disables the printing of error messages, even if the first character of OPTSTRING is not a colon. OPTERR has the value 1 by default. Getopts normally parses the positional parameters ($0 - $9), but if more arguments are given, they are parsed instead. Exit Status: Returns success if an option is found; fails if the end of options is encountered or an error occurs.
Hurai argumen pilihan. Getopts digunakan oleh prosedur shell untuk hurai parameter berkedudukan sebagai pilihan. OPTSTRING mengandungi huruf pilihan untuk dikenalpasti; jika huruf diikuti dengan tanda titik bertindih, pilihan dijangkai mempunyai argumen yang patut dipisah darinya dengan jarak putih. Setiap kali ia diseru, getopts akan gantikan pilihan berikutnya dalam pembolehubah shell $name, mengawalkan nama jika ia tidak wujud, dan indeks bagi argumen berikutnya akan diproses ke dalam pembolehubah shell OPTIND. OPTIND diawalkan kepada 1 setiap kali shell atau skrip shell diseru. Bila pilihan memerlukan argumen getopts meletak argumen tersebut ke dalam pembolehubah shell OPTARG. getopts melaporkan ralat dalam dua cara. Jika aksara pertama OPTSTRING adalah titik bertindih, getopts gnakan pelaporan ralat senyap. Dalam mod ini, tiada mesej ralat dicetak. Jika pilihan tidak sah kelihatan, getopts gantikan aksara pilihan yang ditemui ke dalam OPTARG. Jika argumen yang diperlukan tidak ditemui, getopts gantikan tanda ':' ke dalam NAME dan tetapkan OPTARG ke aksara pilihan yang ditemui. Jika getopts bukan berada dalam mod senyap, dan pilihan tidak sah ditemui, getopts gantikan '?' ke dalam NAME dan nyahtetap OPTARG. Jika argumen yang diperlukan tidak ditemui, tanda '?' diganti dalam NAME, OPTARG dinyahtetap, dan mesej diagnostik dicetak. Jika pembolehubah shell OPTERR mempunyai nilai 0, getopts lumpuhkan cetakan mesej ralat, walaupun jika aksara pertama OPTSTRING bukanlah titik bertindih. OPTERR mempunyai nilai 1 secara lalai. Getopts biasanya menghurai parameter berkedudukan ($0 - $9), tetapi jika lebih argumen diberi, ia juga dihuraikan. Status Keluar: Kembali berjaya jika pilihan ditemui; gagal jika penghujung pilihan dihadapi atau ralat berlaku.