Bash中的位置参数和特殊参数】的更多相关文章

#Bash中的位置参数和特殊参数 #Bash中的位置参数是由0以外的一个或多个数字表示的参数.#位置参数是当Shell或Shell函数被引用时由Shell或Shell函数的参数赋值,并且可以使用Bash的内部命令set来重新赋值.位置参数N可以被引用为${N},或当N只含有一个数字时被引用为$N # $ set 1 2 3 four five six 7 8 9 ten# $ echo "$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}"# 1 2 3 four fiv…
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_dict = {1: u'先生', 2: u'女士'} print 'hello %s %s, welcome to python world!' %(name, sex_dict.get(sex, u'先生')) # 两个参数的顺序必须一一对应,且少一个参数都不可以 # print_hello('t…
http://hi.baidu.com/lolorosa/blog/item/5775a608bd670d33b0351da7.html $# 是传给脚本的参数个数 $@ 是传给脚本的所有参数的列表 $0 是脚本本身的名字 $1是传递给该shell脚本的第一个参数 $2是传递给该shell脚本的第二个参数 在Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:位置参数:详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,当然英文版…
脚本编程中的test.bash调试.变量计算.参数 1.文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通文件 -d FILE:测试路径是否为目录 -r FILE:测试当前用户对指定文件是否有读取权限 -w FILE:测试当前用户对指定文件是否有写权限 -x FILE:测试当前用户对指定文件是否有执行权限 eg1:[ -e /etc/inittab ] eg2: If [ ! -e /etc/inittab ]; then echo ”No /etc/inittab.…
路由系统也就是 urls.py文件,视图就是 views.py文件 路由系统里面要注意的事项 urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续. 若要从URL中捕获一个值,只需要在它周围放置一对圆括号(分组匹配). 不需要添加一个前导的反斜杠,因为每个URL 都有.例如,应该是^articles 而不是 ^/articles. 每个正则表达式前面的'r' 是可选的但是建议加上. 通过位置参数(使用括号) 通过关键字传参数 传递额外的参数 包含其他url…
在Linux的Shell中怎样处理tail -n 10 access.log这样的命令行选项呢?这是被别人问起的一个问题,好好学习了一下,进行总结如下:在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景.1.直接处理,依次对$1,$2,...,$n进行解析,分别手工处理:2.getopts来处理,单个字符选项的情况(如:-n 10 -f file.txt等选项):3.getopt,可以处理单个字符选项,也可以处理长选项long-option(如:--prefix=/ho…
bash 中的特殊变量 变量 说明 ------------------------------------ $0 当前脚本的文件名 $n 第n个位置参数 $* 传递给脚本或函数的所有参数,$*会将这些参数视为一个整体 $@ 传递给脚本或函数的所有参数,$@会将所有参数当作同一字符串中的多个独立的单词 $# 脚本运行时携带的参数个数 $? 最近一个命令的退出状态码 $$ 当前shell的进程ID(PID) $! 最近一个后台命令的PID !! 执行上一条命令…
每个 C 程序都有一个 main 函数,每个 main 函数都有一个 argv 参数,这个参数是一个字符串数组,这个数组的值是由该 C 程序的父进程在通过 exec* 函数启动它时指定的. 很多人说 Bash 中的 $0 的值就是 bash 这个 C 程序在它的 main 函数中获取到的 argv[0](zeroth argument)的值,我们可以通过 exec 命令的 -a 参数的功能演示一下: $  ( exec -a foo bash -c 'echo $0' ) foo $ ( exe…
本来不准备写这篇博客的,因为任务管理(job管理)非常非常常用,以至于觉得根本没有必要去写这样一个东西.但想了下,还是记录一下吧,也许有人会用到呢. 不知你是否碰到过这样的情况,当你兴致勃勃的打开VIM,写代码写到正酣时,运营MM或者产品MM气喘吁吁的跑过来:“赶紧帮我跑一下xx的数据,一会做PPT要用”.可是不想直接关闭当前的VIM,而且某些系统下,又不能新开tty(如设置了maxlogins参数)去执行这些任务,这可怎么办?这其实就涉及到了任务(job)管理. 那么什么是任务管理?顾名思义,…
bash 中的变量 Linux command line 笔记 变量无需声明,自动创建 var=abc #变量a赋值为字符串abc var="hello world" #字符串里有空格赋值要加引号 var="hello world $var" #任何可以扩展成字符串的都可以赋给变量 var=$(ls -l *.md) # 输出结果为字符串的命令 var=$(5*5) #运算符 var="hello\nworld" #转义字符串序列,例子中的\n…
Bash中的shopt选项 http://blog.chinaunix.net/uid-20587169-id-1919110.html shopt命令用于显示和设置shell中的行为选项,通过这些选项以增强shell易用性.shopt命令若不带任何参数选项,则可以显示所有可以设置的shell操作选项. set选项与shopt选项是两组不同的内容,用set -o和shopt -p可以分别查看两个组所有的打开和关闭的条目, 在默认状态下,有些是打开的,有些是关闭的,shopt各选项随着bash版本…
Bash中的变量1.用户定义的变量变量的定义  用户定义的变量有字母数字及下划线组成,并且变量名的第一个字符不能为数字.            与其它UNIX名字一样,变量名是大小写敏感的. 对于变量,用户可按如下方式赋值:               name = value 变量的引用              在引用变量时,需在前面加$符号,用户也可以在变量间进行相互赋值(一个变量的值赋给另一个变量),如:               (前面的$是命令提示符)              …
前言:在bash中遇到各种括号,同时在进行字符数值比较判定时,总是不断出现问题,于是通过参考<advanced bash-scripting guide>,同时在centos 6.7版本上进行测试,现况总结如下.如有纰漏,望指正. 一.() 一个命令组合,相当于一个命令组 [root@mghuee~chunlanyy testdir]# I=;(I=xyz;echo $I;);echo $I xyz 二.{} 同"{}",也为一个命令组合,与"()"的区…
转自: http://blog.csdn.net/u013961718 https://www.shiyanlou.com/courses/running test 和 [ ] test是一条内置命令, test 根据表达式expr 求值的结果返回 0(真)或 1(假),可以用echo $?查看返回的退出状态.[等价于test,即test expr 和 [ expr ] 是等价的. test的三个基本作用是判断文件.判断字符串.判断整数.test中可用的比较运算符只有==和!=,两者都是用于字符…
一.位置参数 调用函数时根据函数定义的参数位置来传递参数. #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_dict = {1: u'先生', 2: u'女士'} print 'hello %s %s, welcome to python world!' %(name, sex_dict.get(sex, u'先生')) # 两个参数的顺序必须一一对应,且少一个参数都不可以 # print_hello('t…
shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1..9,当n为0时表示脚本文件名:如果n大于9,则用大括号括起来,例如${10},接的参数以空格隔开 $#:获取当前执行的shell脚本后面接的参数个数 $*:获取当前shell脚本所有传参的参数,不加引号和$@相同:如果给$*加上双引号,例如:“$*”,则表示将所有的参数视为单个字符串,相当于“$1…
首先,先了解一下关于http协议里定义的四种常见数据的post方法,分别是: application/www-form-ulrencoded multipart/form-data application/json text/xml Express依赖bodyParser对请求的包体进行解析.默认支持application/json,application/www-form-urlencoded,multipart/form-data.单数对xml没有支持.需要自己代码来实现 www-form-…
1.通过def function_name([parameter]): 定义,函数一遇到return即结束运行.如果函数没有定义返回值,则返回None,如果定义了一个返回值,则返回该对象,如果一个return中有多个返回值,会将所有对象封装成一个元组返回. 2.定义函数时的参数叫作形参,形参只在被调用时分配内存单元,调用结束后即释放内存:调用函数时传入的参数叫作实参,实参可以是常量.变量.表达式.函数等.未在函数定义时指定默认值的形参,必须在调用时指定值. 3.位置参数即函数调用时传入的参数与定…
空格,一个看不见的字符,很不起眼,很多人经常忽略它,导致代码出错,却还找不着北. 先了解下bash中什么时候该用空格,什么时候不该用. . 等号赋值两边不能有空格 . 命令与选项之间需要空格 . 管道两边空格可有可无 1.在[ ] 内部,如果只有一个值(那些因为缺少了空格而连一起的也算),不是空字符串就为真.所以在[ ] 之间的参数,也要两边有空格,而不能堆一起. [root@noi ~]# ];then echo "equal";fi equal [root@noi ~]# ' ];…
1.命令提示符 [root@mysqlserver01 opt]# [root@mysqlserver01 ~]# root 当前用户名 @ 固定的(格式) mysqlserver01 主机名 opt 当前所在目录 ~ 用户家目录 # 表示当前用户是管理员 $ 表示当前用户是非管理员   命令提示符,一般不去修改,但可以修改. 命令提示符由变量PS1来指定   2.Linux命令的通用格式 命令字 [选项] [参数](中括号表示可有可无) (1)选项:用于调节命令的具体功能 a.以"-"…
bash 中的 :=.=.:-.-.=?.?.:+.+ 来源 https://www.cnblogs.com/fhefh/archive/2011/04/22/2024750.html 变量替换和变量默认值设置是紧密相关的,至少从概念出发是如此. 参数扩张是将类似于变量的参数用它的值来替换.例如以“echo $VAR”的形式调用一个简单的变量.此外还有更多的特性可以访问.这个句法还包含一些没有扩展的特性,虽然这些特性自身很有意义.首先,这类特性执行默认变量赋值.使用这些特性时,整个表达式需要用花…
HTTP入门(一):在Bash中curl查看请求与响应 本文简单总结HTTP的请求与响应. 本文主要目的是对学习内容进行总结以及方便日后查阅. 详细教程和原理可以参考HTTP文档(MDN). 本文版权归马涛涛所有. 本文所引用的图片和文字版权归原作者所有,侵权删. 如有错误请在下方评论区指出,欢迎积极讨论. 服务器与浏览器的交互 浏览器负责发起请求 服务器在 80 端口接收请求 服务器负责返回内容(响应) 浏览器负责下载响应内容 HTTP协议 的作用就是指导浏览器和服务器如何进行沟通. 请求 使…
前面第二章简单介绍了函数定义的语法,经过后面一系列的学习,函数有必要再次介绍一下相关内容. 一.    关于函数的语法 1.    语法 def 函数名([参数]): 函数文档字符串 函数体          2.    函数名:是必须符合Python名称规范要求的标识符,需要避免使用Python的关键字: 3.    参数:称为函数的形参,调用时传递的真实数据称为实参,函数的参数可以没有,也可以是多个甚至可变个数: 4.    函数文档字符串:在"Python语句的补充和修订"那节老…
Eclipse中自动提示的方法参数都是arg0,arg1,就不能根据参数名来推断参数的含义,非常不方便. 解决方法:Preferences->Java->Installed JREs,发现里面只有一个JRE,选Edit,路径改成JDK的路径的就行了.原因是Eclipse需要JavaDoc或者源代码来获得那些参数的名字.…
  C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: CREATE PROCEDURE sp_AccountRole_Create @CategoryID int, ), ), @RoleID int output AS DECLARE @Count int -- 查找是否有相同名称的记录 SELECT @Count = Count(RoleID) F…
原文:http://blog.csdn.net/blueheart20/article/details/43766713 引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. 1.  问题的引出 在Restful的服务设计中,查询某些信息的时候,一般的URL地址设计为: get /basic/service? keyword=历史 , 之类的URL地址…
这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样可以省去很多自定义的代码,需要的朋友可以参考下.    在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入.    在2008中提供了表值参数.使用表值参数,可以不必创建临时表或许多参数,即可向 Tra…
bash中可以用字符串做数组下标吗例如 test["abc"]=1------解决方案-------------------- 好像是误会,是awk里可以,bash shell里不可以.…
问题描述: $ command 2>> error $ command 1>> output 是否有方法,在bash同一行,实现输出stderr到error文件,输出stdout到output文件? 也就是,如何在bash的同一行,实现stderr和stdout重定向到不同的文件? 解决方法: 将它们放入同一行,command 2>> error 1>> output 然而,注意 >> 是如果文件有数据,会在文件尾部添加内容.而 > 将会重…
在VS中向命令行添加参数的方法 在VS中向命令行添加参数,即向main()函数传递参数的方法: 右键单击要 添加参数的工程-->属性-->配置属性-->调试,在右侧“命令参数”栏输入要添加的参数,各参数间用空格分离.例如: "-hide_banner"  "Z:/media/subtitle/internal/divx/496x496.divx" 则传递给main函数的argc为3,其中argv[0]为程序名,argv[1]为"-hide…