Linux Shell 如何获取参数的方法
$# 是传给脚本的参数个数$0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
区别:$@, $*
相同点:都是引用所有参数 不同点:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(' ')包含时,都以'$1' '$2' … '$n' 的形式输出所有参数。但是当它们被双引号(' ')包含时,'$*' 会将所有的参数作为一个整体,以'$1 $2 … $n'的形式输出所有参数;'$@' 会将各个参数分开,以'$1' '$2' … '$n' 的形式输出所有参数。$*和$@详细区别请看此处
#!/bin/bashecho '-----------------'for key in '$@'do echo ’$@’ $keydoneecho '-----------------------------'for key2 in $*do echo ’$*’ $key2done
1、带引号执行及结果:
[root@localhost ~]# bash file.sh linux 'python c'-----------------$@ linux$@ python c-----------------------------$* linux$* python$* c
2、不带引号执行及结果:
[root@localhost ~]# bash file.sh linux python c-----------------$@ linux$@ python$@ c-----------------------------$* linux$* python$* c
到此这篇关于Linux Shell 如何获取参数的方法的文章就介绍到这了,更多相关Linux Shell 获取参数内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. Win11桌面小组件如何添加?Win11添加桌面小组件的方法2. Win10系统Windows资源管理器老重启怎么办?3. Win10系统注册表怎么修改主页?Win10系统注册表修改主页方法4. WinXP系统LOL打字没有候选框如何解决?5. Win8.1系统下taskhost.exe占用CPU过高怎么办?6. Win10推出独有软件包管理器 安装无需单击多个窗口7. Win7系统Internet信息服务(IIS)管理器在哪里打开?8. Win10系统怎么把字体改成苹果字体?9. Windows11怎么设置五笔输入法?win11五笔输入法设置教程10. Win10用户账户被锁定了怎么办?Win10用户账户被锁定解决方法

网公网安备