bash – 如何在函数内访问调用者的命令行参数?
发布时间:2020-12-16 01:40:15 所属栏目:安全 来源:网络整理
导读:我正在尝试在bash中编写一个函数来访问脚本命令行参数,但是它们被替换为函数的位置参数.如果函数没有显式传递,是否有任何方法可以访问命令行参数? # Demo functionfunction stuff { echo $0 $*}# Echo's the name of the script,but no command line argume
我正在尝试在bash中编写一个函数来访问脚本命令行参数,但是它们被替换为函数的位置参数.如果函数没有显式传递,是否有任何方法可以访问命令行参数?
# Demo function function stuff { echo $0 $* } # Echo's the name of the script,but no command line arguments stuff # Echo's everything I want,but trying to avoid stuff $* 解决方法
我阅读bash参考手册说这些东西是在BASH_ARGV中捕获的,
虽然它谈论“堆栈”很多. #!/bin/bash function argv { for a in ${BASH_ARGV[*]} ; do echo -n "$a " done echo } function f { echo f $1 $2 $3 echo -n f ; argv } function g { echo g $1 $2 $3 echo -n g; argv f } f boo bar baz g goo gar gaz 保存在f.sh中 $./f.sh arg0 arg1 arg2 f boo bar baz farg2 arg1 arg0 g goo gar gaz garg2 arg1 arg0 f farg2 arg1 arg0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |