oracle - 在命令行参数之间添加逗号

标签 oracle bash shell unix scripting

我想通过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/

相关文章:

linux - 尝试创建永久别名 - UNIX

java - 如何在使用基本身份验证的 JDeveloper 中测试 Web 服务?

sql - 在 SQL 中遇到异常后如何继续运行我的程序?

oracle - 如何提高 Access 中 ODBC 链接表的批量插入性能?

sql - 检查生日是否在跨越年假的 6 个月之间

regex - 在匹配后向字符串添加大括号 (sed)

linux - 带有用户输入的 Bash If 语句

c - Bug shell sigset_t

bash - 在静默模式下读取后在 bash 脚本中捕获 ctrl+c

linux - Kafka 服务器在按 CTRL+c 时出现故障