shell命令行参数用法简介
一个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执行系统命令的两种不同方式:
os.system(cmd) :直接一个或者一组系统命令cmd;不返回执行输出即结果;如果是在python的命令行下执行,则输出被直接输出。
比如: os.system('ls -l')
os.open(cmd[, mode='r' [, bufsize]]) :文档的注释是从cmd打开一个pipe,或者打开一个pipe到cmd,并且返回输出为一个file对象!
比如: t = os.popen('ls *.gff').readlines() ; print t
小结,结合以上两个部分的内容,便可以灵活处理python脚本和shell的交互了。
相关推荐
-
shell获取命令行参数示例分享
复制代码 代码如下: #! /bin/bash while getopts a:bc optdo case $opt in a) echo "aaa" echo $OPTARG b) echo "bb" c) echo "ccc" *) echo "error" esacdone
-
shell学习教程获取命令行参数示例
复制代码 代码如下: #! /bin/bashwhile getopts a:bc optdocase $opt ina)echo "aaa"echo $OPTARG b)echo "bb" c)echo "ccc" *)echo "error" esacdone
-
shell命令行参数用法简介
一个shell脚本,它本身的命令参数是什么样呢? 首先 ,shell脚本编程和python等脚本编程一样可以使用参数:其次 ,shell参数分为位置参数和内部参数: 其中,位置参数 :是由系统提供的参数,就是我们一般说的某个数组的第1,2,3...个元素:可以采用$i的形式获得某个参数,显然$0就是程序本身,$1就是第一个参数: 这里需要注意的是,即便你以sh xxx.sh 来执行脚本,$0仍然是xxx.sh ,而不是sh !这一点和我们的perl python 都是一致的 内部参数 : 复制
-
linux shell命令行参数用法详解
习惯使用linux命令行来管理linux系统,例如: 复制代码 代码如下: $ date 二 11 23 01:34:58 CST 1999 $ 用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统.命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下: 复制代码 代码如下: $ Command Option Arguments 一,选项和参数 选项是包括一个或多个字母的代码,它前面有一个减号(减
-
python命令行参数用法实例分析
本文实例讲述了python命令行参数用法.分享给大家供大家参考,具体如下: 在命令行下执行某些命令的时候,通常会在一个命令后面带上一些参数,这些参数会传递到程序里,进行处理,然后返回结果,在linux 下很多命令其实也是用python来实现的.那么如果做到在命令行输入类似如下的命令并能得到正确的解析呢,比如 python commandline.py -l c:/temp -f c:/aaa.txt 这样的命令,并在程序中进行处理.下面详细介绍处理办法. python为我们提供了一个模块叫opt
-
python argparse 模块命令行参数用法及说明
目录 先上代码 下面针对一些特殊点再作详述 程序用法帮助 argparse 是 python 的一个命令行解析包,可根据需要编写高可读性的程序. 网上的许多教程较为冗长和散漫,没有达到精练好掌握的目的,本文针对项目中对 argparse 的用法,用实例对各个参数进行讲解,力求达到让读者秒懂的目的. 先上代码 import argparse if __name__ == '__main__': # 创建命令行解析器句柄,并自定义描述信息 parser = argparse.ArgumentPars
-
Java程序命令行参数用法总结
目录 基于命令行输入参数 基于命令行输入系统属性 JVM参数设置 环境变量 vs 系统属性 基于Maven命令运行Spring Boot应用 前言: 在命令行中输入可以输入各类参数,本文将针对这些参数做一个小结. 基于命令行输入参数 测试程序如下: import java.util.Arrays; public class Main { public static void main(String[] args) { System.out.println("System Property, ab
-
linux shell 解析命令行参数及while getopts用法小结
目录 linux shell 解析命令行参数|getpots getpots linux shell 解析命令行参数|getpots demo: #!/bin/bash func() { echo "Usage:" echo "test.sh [-j S_DIR] [-m D_DIR]" echo "Description:" echo "S_DIR,the path of source." echo "D_DIR,
-
shell脚本命令行参数简介
之所以用到命令行参数,关键在于shell脚本需要与运行脚本的人员进行交互.bash shell提供了命令行参数添加在命令后面的数据值).命令行选项修改命令行为的单字符值)和直接读取键盘输入. 1.命令行参数向shell脚本传递数据的最基本方式是使用命令行参数. 1)读取参数读取输入的参数的变量为位置参数,位置参数通过标准数字表示,其中$0为程序名称,$1为第一个参数,$2为第二个参数,依次类推,直到$9为第九个参数.shell脚本自动将命令行参数赋值给各个位置变量.同时输入多个参数可以是数值也可
-
python命令行参数解析OptionParser类用法实例
本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下: from optparse import OptionParser parser = OptionParser(usage="usage:%prog [optinos] filepath") parser.add_option("-t", "--timeout", action = "store", type =
-
Python处理命令行参数模块optpars用法实例分析
本文实例讲述了Python处理命令行参数模块optpars用法.分享给大家供大家参考,具体如下: optpars是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能强大,易于使用,可以方便的生成标准的,符合Unix/Posix 规范的命令行说明. 使用 add_option() 来加入选项,使用 parse_args() 来解析命令行. add_option()中参数 第一个参数表示option的缩写,以单个中划线引导,例如-f.-d,只能用单个字母,可以使用大写; 第二个
-
jupyter notebook 参数传递给shell命令行实例
我就废话不多说了,大家看代码吧! dataset = ["el","tv"] model = ["model"] stride = [32,64,256,512] for m in model: for d in dataset: for s in stride: print(f"{m} {d} {s}") c = f"tail -n3 N{m}_hp_emb{s}_adam_{d}_log_1.txt"
随机推荐
- 详解angular2实现ng2-router 路由和嵌套路由
- php中preg_replace正则替换用法分析【一次替换多个值】
- 简单几步 实现vs2010对html5的支持
- 用php简单实现加减乘除计算器
- 详解Python3中的Sequence type的使用
- C#线程 BeginInvoke和EndInvoke使用方法
- Android中ExpandableListView使用示例详解
- php采用session实现防止页面重复刷新
- assert()函数用法总结(推荐)
- jQuery中prepend()方法用法实例
- javascript new 需不需要继续使用
- JS实现点击登录弹出窗口同时背景色渐变动画效果
- Java 插入排序之希尔排序的实例
- Android开发中优秀的app 异常处理机制
- 解析Java中的Field类和Method类
- 图解二叉树的三种遍历方式及java实现代码
- PHP对象、模式与实践之高级特性分析
- PHP array 的加法操作代码
- Android 图片Bitmap的剪切的示例代码
- IntelliJ Idea 2017注册码免费激活方法