点击返回 自学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:

自学Linux Shell13.1-命令行参数的更多相关文章

  1. linux 中解析命令行参数(getopt_long用法)

    linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...

  2. 转载:linux编程,命令行参数输入getopt

    下面资料来自百度百科: getopt(分析命令行参数) 相关函数 表头文件 #include<unistd.h> 定义函数 int getopt(int argc,char * const ...

  3. 自学Linux Shell16.4-在命令行上使用函数

    点击返回 自学Linux命令行与Shell脚本之路 16.4-在命令行上使用函数 脚本函数不仅可以用作shell脚本命令,也可以用作命令行界面的命令.一旦在shell中定义了函数,可以从系统的任意目录 ...

  4. 自学Linux Shell13.2-选项处理(主要getopt、getopts命令)

    点击返回 自学Linux命令行与Shell脚本之路 Bash shell提供了一些不同的方法来从用户处获得数据,包括以下3中方法: 命令行参数(添加在名利后面的数据) 命令行选项(可修改命令行为的单个 ...

  5. Linux Shell 05 位置变量(命令行参数)

    在Linux shell 脚本中可能会用到一些命令行参数,常见如下: $0:脚本名称 $#:执行脚本时传入的参数个数,不包括脚本名称 $@:所有参数 $*:所有参数 $1...$9:第1个参数.... ...

  6. Linux进程-命令行参数和环境列表

    命令行参数 在C中,main函数有很多的变种,比如 main(), int main(), int main(int argc, char *argv[]), int main(int argc, c ...

  7. linux bash Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

    在linux下配置shell参数说明 前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid ...

  8. 【Python】 linux中python命令的命令行参数

    Python命令行参数 原文地址:http://blog.163.com/weak_time/blog/static/25852809120169333247925/ Python的命令行参数,提供了 ...

  9. 自学Linux Shell13.3-获得用户输入(read命令)

    Bash shell提供了一些不同的方法来从用户处获得数据,包括以下3中方法: 命令行参数(添加在名利后面的数据) 命令行选项(可修改命令行为的单个字母)主要getopt.getopts命令 直接从键 ...

随机推荐

  1. 读取Excel的记录并导入SQL数据库

    准备一下,近段时间,需要把Excel的数据导入数据库中. 引用命名空间: using System.Configuration; using System.Data; using System.Dat ...

  2. Linux tar 解压 压缩(转)

     注:tar是打包,不是压缩!)  解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName .tar.gz 解压:tar zxvf FileN ...

  3. [Spark][Python]Wordcount 例子

    [training@localhost ~]$ hdfs dfs -cat cats.txt The cat on the matThe aardvark sat on the sofa[traini ...

  4. ngx_lua 模块

    ngx_lua模块的原理: 1.每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM:2.将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问:3.每个 ...

  5. SKINNY加密算法详解(无代码,仅加密)

    原作者论文请参考<The SKINNY Family of Block Ciphers and Its Low-Latency Variant MANTIS> 地址为:https://li ...

  6. 同步手绘板——将View的内容映射成Bitmap转图片导出

    在Android中自有获取view中的cache内容,然后将内容转换成bitmap,方法名是:getDrawingCache(),返回结果为Bitmap,但是刚开始使用的时候,得到的结果都是null, ...

  7. myeclipse从SVN检出项目报错

    今天是在公司实习的第一天,从SVN服务器检出项目后发现报错. 解决方法: 1. 右键项目,选择属性properties-->选择resource-->将others选中并换为UTF-8 2 ...

  8. Leetcode 712. 两个字符串的最小ASCII删除和

    题目描述: https://leetcode-cn.com/problems/minimum-ascii-delete-sum-for-two-strings/ 解题思路: 也是典型的dp问题.利用二 ...

  9. 广商博客冲刺第三天new

    第二天沖刺傳送門 第三四天沖刺傳送門 这一天我们主要是弄网页前台设计跟框架设计,这方面主要是由张奇聪负责.我们在amaze ui,smart ui,angularjs+bootstrap中挑选,最终选 ...

  10. vue element-ui upload 实现带token上传

    <el-upload class="upload-demo" :data ="uploadData" :headers = "headers&q ...