zpe*_*esk 4 unix linux bash shell
我想连接传递给我的bash脚本的所有参数,除了标志.
例如,如果脚本接受如下输入:
./myBashScript.sh -flag1 exampleString1 exampleString2
Run Code Online (Sandbox Code Playgroud)
我希望结果是"exampleString1_exampleString2"
我可以为预定义数量的输入(即2)执行此操作,但是如何为任意数量的输入执行此操作?
Tyi*_*ilo 10
function concatenate_args
{
string=""
for a in "$@" # Loop over arguments
do
if [[ "${a:0:1}" != "-" ]] # Ignore flags (first character is -)
then
if [[ "$string" != "" ]]
then
string+="_" # Delimeter
fi
string+="$a"
fi
done
echo "$string"
}
# Usage:
args="$(concatenate_args "$@")"
Run Code Online (Sandbox Code Playgroud)