arrays – Bash:将命令行参数转换为数组
发布时间:2020-12-15 16:44:05 所属栏目:安全 来源:网络整理
导读:如何将命令行参数转换为bash脚本数组? 我想采取这个: ./something.sh arg1 arg2 arg3 并将其转换为 myArray=( arg1 arg2 arg3 ) 所以我可以使用myArray在脚本中进一步使用。 这以前的SO post接近,但没有进入如何创建一个数组:How do I parse command lin
如何将命令行参数转换为bash脚本数组?
我想采取这个: ./something.sh arg1 arg2 arg3 并将其转换为 myArray=( arg1 arg2 arg3 ) 所以我可以使用myArray在脚本中进一步使用。 这以前的SO post接近,但没有进入如何创建一个数组:How do I parse command line arguments in bash? 我需要将参数转换为常规的bash脚本数组;我意识到我可以使用其他语言(例如Python),但需要在bash中这样做。我想我在寻找一个“append”函数或类似的东西? 更新:我还想问如何检查零参数和分配一个默认数组值,感谢下面的答案,能够得到这个工作: if [ "$#" -eq 0 ]; then myArray=( defaultarg1 defaultarg2 ) else myArray=( "$@" ) fi
实际上你的命令行参数实际上就像一个数组已经。至少,你可以把$ @变量看作一个数组。也就是说,你可以把它转换成一个实际的数组,像这样:
myArray=( "$@" ) 如果你只想输入一些参数并将它们输入$ @值,请使用set: $ set -- apple banana "kiwi fruit" $ echo "$#" 3 $ echo "$@" apple banana kiwi fruit 理解如何使用参数结构在POSIX sh中特别有用,它没有什么别的数组。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |