永发信息网

shell如何接收输入参数

答案:2  悬赏:60  手机版
解决时间 2021-12-17 15:42
shell如何接收输入参数
最佳答案
UNIX/Linux下的shell:
使用 $1 $2 ..... 引用输入参数

windows/cmd下的shell
使用%1 %2....引用输入参数
全部回答
写一个 程序名为 test.sh 可带参数为 start 和 stop 执行 test.sh start 执行 start 内容的代码 执行 test.sh stop 执行 stop 内容的代码 #!/bin/bash if [ $1 == "start" ] then echo "do start" command groups elif [ $1 == "stop" ] then echo "do stop" command group else echo "please make sure the positon variable is start or stop." fi 自变量的接收 接收来自命令行传入的参数,第一个参数用$1表示,第二个参数$2表示,。。。以此类推。注意:$0表示脚本文件名。另外一个在shell编程中经常用到 的是“$@”这个代表所有的参数,。你可以用一个循环来遍历这个参数。如果用java来类比的话,可以把$@看作是man函数中定义的那个数组 for examples: bash里的语句总是那么的人性化,十分的接近自然语言,在for语句中几乎可以迭代任何类似与集合的数据类型(或许这样个说法不对,但我确实想不到更好的词来代替)。 看一个例子: #!/bin/bash for args in $@ do echo $args done 把上面这段代码录入保存为showargs.sh设置为可执行(chmod +x showargs.sh)执行: $ ./showargs.sh arg1 arg2 arg3 arg4 arg1 arg2 arg3 arg4 这个例子中,我们用到了之“$@”,它代表了所有的命令行参数。在这里用for对其进行遍历,系统迭代地从$@中取出命令行参数把他放到args中,最后使用echo $args进行输出。 for更经常用到的是遍历目录,下面的例子用于列出当前目录下的所有文件和文件夹的名称 $ for file in * > do > echo $file > done 这里用*代表当前目录,列出的是所有的文件和文件夹的名称,在这里,文件夹和文件你是分不出来的,如果你需要,你应该用if [-d ${file}]来做一下判断。 对于文件遍历,更有趣的是,你可以在 “in” 后面接上多个表达式。也就是说,你可以一次在遍历多个目录。 下面这段代码能把当前目录下go文件夹和do文件夹里的文件复制到fo文件夹下 #!/bin/bash for args in ./go/* ./do/* do cp ${args} ./fo echo "copying ${args} to ./fo/${args}" done
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小学生怎么发表小说?
刚买的G11老内存卡意外拔出,然后内存卡损坏
农村下喜书能改婚期吗
成人自考报名注册时显示密码填写不正确该怎么
科目一跟科目二要间隔多久
两个人去买钢笔,一个少2元,一个少1元,他们两
The students were studying inclassroom whe
身份证过期能考科目四吗?在异地都可以办临时
狗狗吃狗粮拌羊奶粉可以吃到什么时候...
ASP.net添加引用Configuration有什么用(他的
已故父母修坟墓好,风水上要注意什么
手机股票上的诊股评
有没有人知道武汉市劳动局的联系方式
用电器消耗电能的过程,实际上就是A.电能转化
我老公跟父母一个户口本,我是再婚户口还在前
推荐资讯
功率表在量程选择上要注意什么?
县良种场办公地址在什么地方?我要处理点事
新轩逸出厂防冻液多少度的
明天是妈妈的生日,想给她一个惊喜
求好看的有逻辑的耽美文
潜水泵突然上水量就小了
正安县人民检察院在什么地方啊,我要处理点事
台湾话打铁是什么意思?
单选题在罗斯福新政中,主要用于解决失业问题
一个正方体的棱长是2×102厘米,则它的体积是
兰考县方东机动车安全检测有限公司地址在哪?
带水带土的男孩名字
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?