点击返回 自学Linux命令行与Shell脚本之路

Bash shell提供了一些不同的方法来从用户处获得数据,包括以下3中方法:

13.1-命令行参数(直接手工处理位置参数)

向shell脚本传递数据的基本方法就是使用命令行参数,能满足多数的简单需求。
命令行参数运行在运行脚本时向命令行添加数据。

必须要要知道几个变量,

  •     $0 :即命令本身,相当于C/C++中的argv[0]
  •     $1 :第一个参数.
  •     $2, $3, $4 ... :第2、3、4个参数,依次类推。
  •     $#  参数的个数,不包括命令本身
  •     $@ :参数本身的列表,也不包括命令本身
  •     $* :和$@相同,但"$*" 和 "$@"(加引号)并不同,
             "$*"将所有的参数解释成一个字符串,
             "$@"是一个参数数组。

注意几点:

  • 如果输入更多的命令行参数,则每一个参数必须 空格 隔开
  • 如果在参数值中包含空格,必须使用引号(单引号或多引号均可)
  • 在第9个变量之后,必须在变量数字周围加上花括号,如${10}

举例1:

举例2:
使用$#检查运行脚本携带的参数个数, 而不采用-n测试来检查命令行参数

举例3:

举例4:

最新文章

  1. MySQL免安装的配置
  2. django框架代码基础
  3. 用自定义getElementByClassName函数做“查看更多”的特效
  4. Unity中启动VS时出现"Visual Studio 2010 Shell 无效的许可证数据"的解决办法
  5. ZBrush中的笔刷该怎样制作
  6. .NET MVC框架中控制器接收参数的四种方式
  7. [backbone]backbone.js
  8. git ignore 的使用
  9. CMD删除Mysql 服务
  10. angular 控制器之间值得传递
  11. HDFS 搭建记录
  12. 安装好ubuntu之后要干的几件事
  13. java 集装箱 arraylist 用法
  14. noj最长公共子序列
  15. 【360】pandas.DataFrame、array、list 之间转换
  16. JavaCSV之写CSV文件
  17. 自定义ImageView 手势 缩放 滑动 矩阵
  18. android在更新ADT以后报java.lang.NoClassDefFound的解决办法
  19. SQLServer2008导入Excel遇到的问题
  20. TypeError: 'append' called on an object that does not implement interface FormData 解决方法

热门文章

  1. Luogu2612 ZJOI2012 波浪 DP
  2. (转)/etc/init.d/functions详解
  3. 使用IE浏览提示:该页面无法显示
  4. EZ 2018 06 10 NOIP2018 模拟赛(十八)
  5. openMP多线程编程
  6. ORA-12638:Credential retrieval failed(身份证明检索失败)解决方法
  7. Notepad++中的颜色属性设置大全
  8. ML.NET 示例:二元分类之垃圾短信检测
  9. php5.6安装Zend Opcache扩展
  10. MySQL高可用架构-MHA环境部署记录