As a remark on design, perhaps they should not be "options" if they are mandatory.
After the while loop, check if password or config file is unset, and die if it is?
I don't think there's a standard way to get long options with getopts; you can roll your own, though.
Making it die gracefully when an option which requires an argument doesn't receive any (i.e. $2 is not set at all) is left as an exercise. The problem of seeing that $2 is the next option is artificial intelligence (or you could invent a separate mechanism for specifying an argument which begins with dash, so that you can forbid option arguments to start with a dash in the general case. I don't know if that's good or bad usability).
Hello everyone,
Is it possible to use getopts and also receive arguments without option flags?
e.g. myscript arg1 arg2 -a arg3 -b arg4
If so, how do you stop getopts from exiting as soon as it detects the non-option arguments? (2 Replies)
Hi,
I have a script that ran perfectly on Solaris 5.8
However after upgrade to Solaris 5.10 it started failing.
I invoke the script as below:
./TestScript3.ksh --dir $APP_DATA_IN_OLD $NDM_DATA/$NEXT_FILE
When i execute it i get the following error "getopts: dir bad option(s)".
Please let... (1 Reply)
Hello,
Does getopts have some way of handling the use of an option that requires a parameter more than once on the command line.
e.g. mycmd -a john -a jane
I came up with a solution using arrays (shown below), but wonder if getopts has some other way of handling it. Other solutions... (2 Replies)
I have a script with several options and during testing I found that the \? option does not handle options without dashes as I would expect. Then I run the script with any option that does not include a dash, it runs the script when I would expect \? to catch it and error.
I've tried this with... (2 Replies)
hi, here is a ksh script i wrote using getopts...
i want to find out how i can run it in default mode when no option is mentioned and no arguments are provided... ?
i.e if the script name is final1, then just running final1 should run in default mode....
while getopts 1:2:3:4: mode ... (1 Reply)
Hi Experts,
I am doing PXE boot for my GNU/Linux device and pxelinux.0 loads the kernel as well as initrd images I have mentioned in the config file but it looks like it is not considering the init= option. Instead it starts the default INIT program.
I wanted my customized init program to be... (3 Replies)
Hi Folks
I have got to the point where I can specify the arguments but how to pass an option is still mystery to me. Example:
temp.csh a b c d
set temp1 = $argv
set temp2 = $argv
set temp3 = $argv
echo $temp1
a
echo $temp2
b
echo $temp3
c d
I WANT:
temp.csh a b c d -S 1
set temp1... (2 Replies)
Hello,
I am using below code in AIX env to interpret -n option given in argument while executing the script .I want to give another argument -t
#!/bin/sh
#set -x
while getopts ":n:" opt; do
case "$opt" in
n)
host=$OPTARG
shift 2
;;
*)... (3 Replies)
Hello everyone,
I need help in understanding the default value for getopts option's argument in ksh. I've written a short test script:
#!/bin/ksh
usage(){
printf "Usage: -v and -m are mandatory\n\n"
}
while getopts ":v#m:" opt; do
case $opt in
v) version="$OPTARG";;
... (1 Reply)
I am trying to execute the cli.sh script in another shell script passing arguments and getting the below error.
Myscript.sh
#!/bin/sh
/home/runAJobCli/cli.sh runAJobCli -n $Taskname -t $Tasktype
I am passing the below 2 arguments and it giving error
./Myscript.sh T_SAMPLE_TEST MTT... (11 Replies)
Discussion started by: Info_Geek
11 Replies
LEARN ABOUT SUNOS
mlib_vectormulshift_s32_sat
mlib_VectorMulShift_U8_Mod(3MLIB) mediaLib Library Functions mlib_VectorMulShift_U8_Mod(3MLIB)NAME
mlib_VectorMulShift_U8_Mod, mlib_VectorMulShift_U8_Sat, mlib_VectorMulShift_U8C_Mod, mlib_VectorMulShift_U8C_Sat, mlib_VectorMul-
Shift_S8_Mod, mlib_VectorMulShift_S8_Sat, mlib_VectorMulShift_S8C_Mod, mlib_VectorMulShift_S8C_Sat, mlib_VectorMulShift_S16_Mod, mlib_Vec-
torMulShift_S16_Sat, mlib_VectorMulShift_S16C_Mod, mlib_VectorMulShift_S16C_Sat, mlib_VectorMulShift_S32_Mod, mlib_VectorMulShift_S32_Sat,
mlib_VectorMulShift_S32C_Mod, mlib_VectorMulShift_S32C_Sat - vector multiplication with shifting, in place
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_VectorMulShift_U8_Mod(mlib_u8 *xz, const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_U8_Sat(mlib_u8 *xz, const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_U8C_Mod(mlib_u8 *xz, const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_U8C_Sat(mlib_u8 *xz, const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S8_Mod(mlib_s8 *xz, const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S8_Sat(mlib_s8 *xz, const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S8C_Mod(mlib_s8 *xz, const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S8C_Sat(mlib_s8 *xz, const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S16_Mod(mlib_s16 *xz, const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S16_Sat(mlib_s16 *xz, const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S16C_Mod(mlib_s16 *xz, const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S16C_Sat(mlib_s16 *xz, const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S32_Mod(mlib_s32 *xz, const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S32_Sat(mlib_s32 *xz, const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S32C_Mod(mlib_s32 *xz, const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);
mlib_status mlib_VectorMulShift_S32C_Sat(mlib_s32 *xz, const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);
DESCRIPTION
Each of these functions performs an in-place multiplication of two vectors and shifts the result.
For real data, the following equation is used:
xz[i] = xz[i] * y[i] * 2**(-shift)
where i = 0, 1, ..., (n - 1).
For complex data, the following equation is used:
tmp = xz[2*i]
xz[2*i] = (tmp*y[2*i] - xz[2*i + 1]*y[2*i + 1]) * 2**(-shift)
xz[2*i + 1] = (tmp*y[2*i + 1] + xz[2*i + 1]*y[2*i]) * 2**(-shift)
where i = 0, 1, ..., (n - 1).
PARAMETERS
Each of the functions takes the following arguments:
xz Pointer to the first element of the first source and result vector.
y Pointer to the first element of the second source vector.
n Number of elements in each vector.
shift Right shifting factor. The ranges of valid shift are:
1 <= shift <= 8 for U8, S8, U8C, S8C types
1 <= shift <= 16 for S16, S16C types
1 <= shift <= 31 for S32, S32C types
RETURN VALUES
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO mlib_VectorMulShift_U8_U8_Mod(3MLIB), attributes(5)SunOS 5.10 10 Nov 2004 mlib_VectorMulShift_U8_Mod(3MLIB)