永发信息网

linux shell 中的“$1”问题

答案:4  悬赏:20  手机版
解决时间 2021-04-19 02:46
linux shell 中的“$1”问题
最佳答案
$+数字 一般是位置参数的用法。
如果运行脚本的时候带参数,那么可以在脚本里通过 $1 获取第一个参数,$2 获取第二个参数......依此类推,一共可以直接获取9个参数(称为位置参数)。$0用于获取脚本名称。
相应地,如果 $+数字 用在函数里,那么表示获取函数的传入参数,$0表示函数名。
全部回答
$0,第0个参数,实际上就是执行文件名。
$1 第一个参数,
$2 第个参数,
.....
$1 表示输出设备,同样地,还有 $0 表示输入设备;$2表示错误输出。
在UNIX/Linux环境里面编写程序,一般要使用这三类设备进行输入输出控制。举个例子给你一个比较直观的印象:
$ cat sample.txt > out.txt $2 > err.txt
上面这个例子是将 sample.txt 的内容显示出来,重定向到out.txt中,如果发生错误,将错误输出到err.txt。其中的$2就代表错误信息。追问0是表示输入设备,但是前面加了一个$,我知道重定向就像你说的那个cat sample.txt > out.txt 2>err.txt ,书上2前没有$的。追答呵呵,你试一下吧。你想想,为什么输入设备 0 前面有 $ 而错误输出 2 前面会没有呢?很明显是书上印错了。追问呵呵,好像0 1 2前都没有美元符号,倒是看见这样的 :2>&1 那1前的那符号又表示什么呢?追答哦,是的了,是我记错了,应该是&加上数字表示输入、输出等。$应该是其它几位回答的那个意思。追问谢谢了
美元符加字符串是引用变量值,而美元符加数字表示命令行参数。比如:
bash$ ./hello.sh build test
脚本中$0的值就是./hello.sh,$1的值是build,$2的值是test。
bash$ list.sh -sh --debug /home/user
脚本中$0的值就是list.sh,$1的值是-sh,$2的值是--debug,$3的值是/home/user。
当脚本接受命令行参数时,美元符加数字就可以引用这些参数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
台湾是如何服兵役,台湾男人都要当兵吗
经常放屁可以用雚香正气水吗
反语句怎么写,谁能给我一些比较有诱惑力的句
怎么开通爱淘宝,淘宝账号如何开店
坚信自己的判断名言,相信自己是光芒的句子
爱的人不在身边的句子,一个男人表达伤心的句
名字的谐音是什么意思,请相信我 的日文谐音是
初中语文版古诗词,初中语文语文版所有古诗
什么牌子的焖烧杯好
如何投诉苏宁易购,如何投诉苏宁易购?
求一部小说名字,女主林安安,男主明台,军婚
淘宝卖家在平台放单靠谱吗
张江长泰有什么好玩的,浦东张江周围的好玩的
比喻夫妻不和的句子,名人名言比喻不放弃不灰
整治和预防扶贫领域职务犯罪方面有什么考虑
推荐资讯
耳洞里面有浓怎么办。
以小兔小熊小猪小象为主人公编个童话给小朋友
车身宽度是什么
麦博音箱质量怎么样,电脑音箱,麦博的更好还是
两个大腿酸痛怎么回事
三种不同的氨基酸组成三肽的种数为A.1 B.3
舞蹈的标语英文,用英语说一句关于,热爱舞蹈
计算468x5时,十位上的6与5相乘,得()百位上的4
十大贡茶品牌都有哪些
我迈着沉重的脚步是啥歌名
自由幻想中在商城里买的宠物是不是直接就出来
怎样防止冻手
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?