我想通过unix脚本调用一个程序,它将是通用脚本所以参数可以很。调用语句将类似于
<scriptname> <procedure name> <param1> <param2> <param3> <param4>.. so on
我需要的是从第二个命令行参数到最后一个参数,我希望所有值都以逗号分隔,如下所示
<param1>,<param2>,<param3>,<param4>
我可以使用循环来执行此操作,即从第二个命令行参数开始,我将迭代每个参数并在其中添加逗号。我的问题是我可以使用单个命令来执行此操作吗?
注意:- 如果存在命令行参数,则应正确处理空格,最后一个参数后不应有任何逗号
最佳答案
"${*:2}"
扩展为从 $2 开始的参数列表,由 IFS 的第一个字符分隔:
saveIFS=$IFS
IFS=","
args="${*:2}"
IFS=$saveIFS
echo "$args"
请注意,这会正确保留参数中的空格,而不是将它们转换为逗号。
关于oracle - 在命令行参数之间添加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928224/