`
ld_hust
  • 浏览: 166052 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SHELL 命令行参数简介

阅读更多

我们对于普通脚本语言诸如perl python等,写一个脚本程序,包装命令行参数时,一般都是用getopt之类的;C语言也类似。

 

那么,对于一个SHELL脚本,它本身的命令参数是什么样呢?

 

首先 ,SHELL脚本编程和Python等脚本编程一样可以使用参数;

 

其次 ,SHELL参数分为位置参数和内部参数;

 

其中,位置参数 :是由系统提供的参数,就是我们一般说的某个数组的第1,2,3...个元素;可以采用$i的形式获得某个参数,显然$0就是程序本身,$1就是第一个参数; 这里需要注意的是,即便你以sh xxx.sh 来执行脚本,$0仍然是xxx.sh ,而不是sh !这一点和我们的Perl  python 都是一致的 

 

 

内部参数 :

$0 ----- 当前程序的名称,实际上是一个内部参数,不同于$1,$2....因为它必须有!

$# ---- 传递给程序的总的参数数目,也就是那个传说中的数组大小
$? ---- 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ---- 传递给程序的所有参数组成的字符串。
$@---- 以"参数1" "参数2" ... 形式保存所有参数
$$ ---- 本程序的(进程ID号)PID
$! ---- 上一个命令的PID

 

 

如此以来,即便用SHELL, 我们也可以写出功能强大、交互友好的脚本程序!!!

 

 

 

 

最后,附注一下python执行系统命令的两种不同方式:

 

1 os.system(cmd) :直接一个或者一组系统命令cmd;不返回执行输出即结果;如果是在python的命令行下执行,则输出被直接输出。

 

比如: os.system('ls -l')

 

2 os.open(cmd[, mode='r' [, bufsize]]) :文档的注释是从cmd打开一个pipe,或者打开一个pipe到cmd,并且返回输出为一个file对象!

 

比如: t = os.popen('ls *.gff').readlines() ; print t

 

 

 

PS: 结合以上两个部分的内容,我们就可以灵活处理python脚本和SHELL的交互了!!!

分享到:
评论

相关推荐

    shell脚本命令行参数简介

    之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互。bash shell提供了命令行参数添加在命令后面的数据值)、命令行选项修改命令行为的单字符值)和直接读取键盘输入。 1、命令行参数向shell脚本...

    shell命令行参数用法简介

    本文介绍了shell命令行参数的用法,对于普通脚本语言诸如perl python等,写一个脚本程序,包装命令行参数时,一般都是用getopt之类的;c语言也类似

    linux shell命令行参数用法详解

    本文介绍了linux shell命令行参数的具体用法,用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。

    bash shell命令行选项与修传入参数处理

    本文介绍了bash shell命令行参数与命令行选项的操作方法,有关shell 命令行参数的实例教程,有需要的朋友参考下。

    Shell-特殊变量 $0, $#, $*, $@, $?, $$和命令行参数

    , $$和命令行参数 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $# 传递给脚本或函数的参数个数。 $* 传递给脚本...

    linux shell命令行选项与参数用法详解

    本文介绍了linux shell中使用命令行选项与命令行参数的方法,在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景

    Linux shell 脚本 markdown文本编辑

    有关几个shell脚本的编写,如:编写一个shell脚本程序,它带一个命令行参数,这个参数是一个文件。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期...加入了自己的注释理解

    jupyter notebook 参数传递给shell命令行实例

    主要介绍了jupyter notebook 参数传递给shell命令行实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    shell获取命令行参数示例分享

    代码如下:#! /bin/bash ... 您可能感兴趣的文章:在Shell命令行处理JSON数据的方法shell学习教程获取命令行参数示例神奇的shell命令行输入与输出功能介绍Linux命令行和shell脚本编程宝典 Richard BlumP

    shell命令调用kettle,将生成的日志按月打包,并运行前一天的数据,并且参数传递冲抵kettle中的变量

    shell命令调用kettle,将生成的日志按月打包,并运行前一天的数据,并且参数传递冲抵kettle中的变量

    linux-optparseBASH的简单命令行参数解析器

    optparse - BASH的简单命令行参数解析器

    Shell(命令行解释器)

    开发的Shell程序支持以下命令: 1)cd ——将当前默认目录改变为。如果没有参数,则显示当前目录;如果目录不存在,会出现合适的错误信息提示。...9)其它的命令行输入被解释为程序调用,Shell创建并执行这个程序。

    Shell $0, $#, $*, $@, $?, $$和命令行参数的使用

    特殊变量列表 变量 含义 $0 当前脚本的文件名 ...当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。...命令行参数 ...运行脚本时传递给脚本的参数称为命令行...命令行参数用 $n 表示,例如,$1 表示第一个参

    shellescape:转义任意字符串以用作命令行参数

    在已知Go程序的输出将附加到Shell程序的命令行参数的上下文中/在其中使用的情况下,此功能可能会有所帮助。 这项工作的灵感来自Python原始包 。 用法 以下代码段显示了一种典型的不安全习惯用法: package main ...

    Shell命令行中特殊字符与其转义详解(去除特殊含义)

    大家都知道在一个shell命令是由命令名和它的参数组成的, 比如 cat testfile, 其中cat是命令名, testfile是参数. shell将参数testfile传递给cat命令. 但是, 如果参数中含有特殊字符, 比如说*, *我们知道,是表示任意多...

Global site tag (gtag.js) - Google Analytics