一:shell特殊变量
  1. 位置变量

$0      获取当前执行的shell脚本的文件名,包括路径
$n 获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本的文件名,如果n大于9,用大括号括起来${10}
$* 获取当前shell的所有参数,将所有的命令行参数视为单个字符串,相当于"$1$2$3"........注意与$#的区别
$# 获取当前shell命令行中的参数的总个数
$@ 这个程序的所有参数"$1" "$2" "$3" ".....",这是将参数传递给其他程序的最佳方式,因为他会保留所有内嵌在每个参数里的任何空白。
提示:$*和$@的区别?

 2.案例、演示

范例1:演示$0
[root@1-241 scripts]# cat 0.sh
echo $0
[root@1-241 scripts]# sh 0.sh
0.sh
[root@1-241 scripts]# cd /root/
[root@1-241 ~]# sh /scripts/0.sh
/scripts/0.sh 范例2:演示$1到$10的作用
[root@1-241 scripts]# cat n.sh
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
[root@1-241 scripts]# sh n.sh `seq 10`
1 2 3 4 5 6 7 8 9 10
[root@1-241 scripts]# sh n.sh `seq 8`
1 2 3 4 5 6 7 8
[root@1-241 scripts]# sh n.sh `seq 12`
1 2 3 4 5 6 7 8 9 10
提示:
在脚本里写入$1到$10,在脚本执行传参,传入最大是10个参数,超过10个参数也不接收 范例3:演示$#的作用
[root@1-241 scripts]# cat n.sh
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
echo $#
[root@1-241 scripts]# sh n.sh 1 2 3 4 5
1 2 3 4 5
5
提示
$#,显示传入了多少个参数

  

最新文章

  1. Asp.net C# 把 Datatable转换成JSON 字符串
  2. C# 实现 Excel文件的数据导入
  3. java格式化时间格式
  4. C#: Create a WebRequest with HTTPClient
  5. 并发MD5计算方法
  6. 《编写高质量代码-Web前端开发修改之道》笔记--第三章 高质量的HTML
  7. poj 3469 Dual Core CPU【求最小割容量】
  8. 7. 稀疏表示之OMP,SOMP算法及openCV实现
  9. EditPlus 3设置字体大小
  10. UNIX基础知识--<<UNIX 环境编程>>读书笔记
  11. 记一次innobackupex备份恢复数据库过程
  12. [Qualcomm]A Detailed History of Qualcomm 高通的前世今生
  13. 【Servlet】Java Serlvet Listener 监听器
  14. 在Windows 7上安装Team Foundation Server(TFS)的代理服务器(Agent)
  15. Scala + Thrift+ Zookeeper+Flume+Kafka配置笔记
  16. linux编译安装aria2
  17. Spring入门实例
  18. Wifi密码破解实战
  19. 0x01 MySQL What's DataBase
  20. Asp.Net 设计模式 之 “工厂方法”即利用 接口 实现的抽象工厂

热门文章

  1. 网站远程附件存储到 OSS
  2. 存储过程中拼接SQL语句
  3. IDEA中配置Tomcat中的Artifact
  4. ES 实现实时从Mysql数据库中读取热词,停用词
  5. JAVA热部署,通过agent进行代码增量热替换!!!
  6. 抓包工具Burp Suite安装步骤(待补充)
  7. DoS拒绝服务-工具使用hping3、nping等(四)
  8. [极客大挑战 2019]Havefun wp
  9. 初等函数——幂函数(Power Function)
  10. Linux实战(11):Centos安装Jenkins