shell脚本--shift参数左移】的更多相关文章

参数左移什么意思呢?这个参数指的是在运行脚本时,跟在脚本名后面的参数,前面已经讲过,可以使用$#来获取参数的个数,使用$*来获取所有的参数,而参数左移的含义是这样的:有个指针指向参数列表第一个参数,左移的意思就是每读一个参数,指针就指向第二个参数,就好像参数向左移动了,于是乎,这样就可以读取每个参数的值了,在循环结构中特别常用. 下面一个例子: #!/bin/bash #文件名:test.sh tot=0 while [ $# -gt 0 ] do echo "参数为"$1 #注意这里…
第二十二章 跳出循环-shift参数左移-函数的使用 本节所讲内容: 22.1 跳出循环 22.2 Shift参数左移指令 22.3 函数的使用 22.4 实战-自动备份mysql数据库和nginx服务启动脚本 22.1 跳出循环 在我们使用循环语句进行循环的过程中,有时候需要在未达到循环结束条件时强制跳出循环,那么Shell给我们提供了两个命令来实现该功能:break和continue 22.1.1 break和continue Break:跳出整个循环 Continue:跳过本次循环,进行下…
目录 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用 23.1 跳出循环 23.1.1 break和continue 23.2 Shift参数左移指令 23.3 函数的使用 23.3.1 函数创建语法 23.3.2 函数的使用 23.3.3 返回值 23.3.4 把函数值赋给变量使用 23.3.5 函数的传递 23.3.7 函数中变量的处理 23.4 实战-自动备份mysql数据库脚本和nginx服务启动脚本 23.4.1 自动备份mysql数据库脚本 23.4…
shell 脚本 常用参数 #!/bin/sh # 在脚本第一行脚本头 # sh为当前系统默认shell,可指定为bash等shell sh -x # 执行过程 sh -n # 检查语法 (a=bbk) # 括号创建子shell运行 basename /a/b/c # 从全路径中保留最后一层文件名或目录 dirname # 取路径 $RANDOM # 随机数 $$ # 进程号 source FileName # 在当前bash环境下读取并执行FileName中的命令 # 等同 . FileNam…
shift概述 https://blog.csdn.net/wangjianno2/article/details/48879641 1.shell脚本中的位置参数 shell脚本中的位置参数有两种: 一种是调用脚本时传给脚本的参数,另一种是调用脚本的函数时,传给函数的参数. 2.shift shift可以用来向左移动位置参数. 使用方法: shift num # 将位置参数向左移动num个位置,默认情况下num为1. shift 4 # 所有参数左移4位 例子1 function func_t…
平常在写shell脚本都是用$1,$2....这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护.Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?而不是通过$1,$2这种方式进行获取.下面的例子定义了短参数名和长参数名两种获取参数值的方式.其实是根据getopt提供的特性进行整理而来. #!/bin/sh #说明 show_usage="args: [-l , -r , -b , -w]\ [-…
    所谓的位置参数(positional parameters)指的也就是Shell脚本的命令行参数(command-line arguments).在Shell函数里,它们同时也可以是函数的参数.各参数都由整数来命名.基于历史的原因,当其超过9,就应该用大括号把数字框起来:         echo first arg is $1         echo tenth arg is ${10}       假设你想知道某个用户正使用的终端是什么,你当然可以直接使用who命令,然后再输出中慢…
参考: https://stackoverflow.com/questions/7389416/postgresql-how-to-pass-parameters-from-command-line https://blog.csdn.net/dazuiba008/article/details/79268537  (推荐) ######################################数据库表结构###################################### # n…
$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 … $n"的形式输出所有参数.$@所有参数列表.如"$@"用「"」括起来的情况.以"$1" "$2" … "$n" 的形式输出所有参…
用maven工程打包时,会将数据库连接一并打进去,如果需要经常修改数据库连接,则需要打开jar包然后修改配置,这样很麻烦耗时并且容易出错. 因此需要将数据库配置放入项目外,这样修改数据库时去固定的配置文件中修改即可,shell脚本源码如下: #/bin/bash printf "\n+++++++++++++++++++ %-30.30s +++++++++++++++++++" 'startserver Begin!' echo "" PROJECTDIR=$PW…
test.sh #!/bin/bash echo "脚本名$0" echo "第1个参数$1" echo "第2个参数$2" echo "第3个参数$3" echo "第4个参数$4" echo "第5个参数$5" echo "第6个参数$6" echo "第7个参数$7" echo "第8个参数$8" echo "第…
文件名: test.sh #!/bin/bash para="para: "; while [ $# -ge 2 ] ; do case "$1" in --aa) para="${para} argument $1 = $2;"; shift 2;; --bb) para="${para} argument $1 = $2;"; shift 2;; *) echo "unknown parameter $1.&qu…
1.命令替换:`` 反向单引号,也称重音符.键盘上和~键在一起的那个键呦,千万不要敲成单引号. A. 使用了``后,shell首先替换输出中``括起来的date命令,然后执行整个输出命令. B.命令替换还可以用于在变量中存储命令输出,如下: 变量ctr将包含当前目录中名字以.txt结尾的文件的计数. 2.expr 大部分shell不支持数字变量,所有变量会被作为字符串.如var=25,变量var中包含的是字符2和字符5组成的字符串,而不是数字25. Expr命令用来评估算术表达式,命令的输出发送…
关于shell脚本的基本语法 整理于:2014-03-31,何俭飞,mymladdr@sina.com 一.执行 1.shell脚本如果要被执行,一般地必须要有执行权限"x"(除了使用特殊的执行方式不需要外) 2.shell脚本执行的方式有以下几种: ①--参数式执行1:/bin/sh createFiles.sh(不需要x权限),简写为"sh createFiles.sh" ②--参数式执行2:/bin/bash createFiles.sh(不需要x权限),简写…
最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结. Pre build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenkins变量,意图将gradle中的这两个值传到shell/python脚本中去用 def jenkinsBuild = System.getenv("BUILD_NUMBER") ?: "0" println "jenkinsBuild is set to $j…
在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?> <config>    <server-ip>192.168.1.45</server-ip>    <server-port>1209</server-port>    <repository-temp-path>/home/jo…
Shell是一种编程语言, 它像其它编程语言如: C, Java, Python等一样也有变量/函数/运算符/if语句/循环控制/… 但在开始之前, 我想先理清Shell语言与Shell之间的关系. Shell与Shell语言 上面说了Shell是一种编程语言但你可能也听说过: sh/bash/csh/zsh/…它们也叫Shell, 实际上这里所说的Shell是一种应用程序, 它负责解释执行你编写的Shell脚本, Mac默认就自带了sh/bash/csh/zsh/tcsh/ksh, 你可以这样…
在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?> <config>    <server-ip>192.168.1.45</server-ip>    <server-port>1209</server-port>    <repository-temp-path>/home/jo…
今天上午在写一个需求,要求的比较急,要求当天完成,我大致分析了一下,可以采用从shell脚本中插入一连串的日期,通过调用proc生成的可执行文件,将日期传入后台数据库,在数据库中进行计算.需要切分日期的字符串,转化成整数,插入int 数组中,手工实现太慢,就直接借用系统的strstr函数来用了. 场景模拟: 1. shell脚本: #diao.sh #!/bin/bash date1="20170622,20170623,20170626,20170627,20170628,20170629,2…
一.shell脚本简介 shell脚本是用shell脚本语法将shell命令组织起来形成的文件形式.Shell脚本与Windows/Dos 下的批处理相似,主要为了将大量命令通过一个纯文本文件一次执行完,以方便管理员进行效的管理和设置.但是它比Windows下的批处理更强大,毕竟它使用的Linux/Unix下的命令. shell脚本本质上是将一系列的Linux命令放在一个文件中,执行这个shell脚本就相当于直接执行这些Linux命令的集合. #!/bin/bash date #显日期命令 wh…
今天上午在写一个需求,要求的比较急,要求当天完成,我大致分析了一下,可以采用从shell脚本中插入一连串的日期,通过调用proc生成的可执行文件,将日期传入后台数据库,在数据库中进行计算.需要切分日期的字符串,转化成整数,插入int 数组中,手工实现太慢,就直接借用系统的strtok函数来用了. 场景模拟: 1. shell脚本: #diao.sh #!/bin/bash date1="20170622,20170623,20170626,20170627,20170628,20170629,2…
From : http://www.linuxfly.org/post/559/ 我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短……).但是只有很少数的人意识到PHP也可以很好的作为编写Shell脚本的语言,当PHP作为编写Shell脚本的语言时,他并没有Perl或者Bash那么强大,但是他却有着很好的优势,特别是对于我这种熟悉PHP但是不怎么熟悉Perl的人.     要使用PHP作为Shell脚本语言,你必须将PHP作为二进制的CGI编译,而不是Apache模式:编译…
公司说不准用云笔记了,吓得我赶紧把笔记贴到博客上先..... 近3年前的了,只有一半的章节,后面的没空记录了.... 第1章 可以cat /proc/meminfo文件来观察Linux系统上虚拟内存的当前状态 ipcs命令专门用来查看系统上的当前共享内存页面 Ubuntu使用一个表来管理在系统开机时要自动启动的进程,在/etc/init.d目录,可将开机时启动或停止某个应用的脚本放在这个目录下.这些脚本通过/etc/rcX.d目录下的入口启动,这里X代表运行级(run level) Linux才…
Linux的Shell种类众多,这里我们关注的重点是Bash. 基本语法 环境变量$PATH IO重定向:  以<改变标准输入 如:tr -d '\r' < dos-file.txt 以>改变标准输出  如:tr -d '\r' < dos-file.txt > UNIX-file.txt(如果>的目的文件不存在,将自动创建,若存在,将覆盖原文件) 以>>附加到文件(文件末尾追加)  若文件不存在,则自动创建,若存在,则在文件末尾追加 以|建立管道  前一个…
摘要:第一章介绍unix系统的发展史及软件工具的设计原则.第二章介绍编译语言与脚本语言的区别以及两个相当简单但很实用的Shell脚本程序,涵盖范围包括了命令.选项.参数.Shell变量.echo与printf的输出.基本输入/输出重定向.命令查找.从脚本里访问参数以及执行跟踪等. 第一章 背景知识 概括:这一章介绍unix系统的发展史及软件工具的设计原则. 1.1  unix系统发展史 unix最初是由贝尔电话实验室的计算机科学研究中心开发的.第一版诞生于1970年. 1.2  软件工具设计原则…
摘要:Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令. 1.第一章 背景知识 1.1 UNIX简史 1.2 软件工具的原则 1.3 小结 2.第二章 入门 2.1 脚本编程语音与编译型语言的差异 2.2 为什么要使用Shell脚本 2.3 一个简单的脚本 2.4 自给自足的…
  APP开发过程中,往往需要在多个网络环境或配置中进行切换,以获取不同配置的APP,甚至有时需要用一套代码经过简单的配置生成不同的APP.而手动配置费时费力,且容易出错.这里介绍用脚本工具,去生成不同配置的APP工程. 1. 需求分析 在配置工程中我们需要事先知道有哪些配置项: APP 启动图.图标等资源文件. APP 名称.版本号.bundleID. APP 相关的微信 APPKey.scheme. 网络环境.部分代码替换. provisioning profile 修改 分析以上需要配置的…
复制指定文件cpp.sh: [root@localhost soft]# vim cpp.sh#!/bin/bash name="$1"\cp /home/soft/test/${name} /opt/echo "co ok"~~ java: public class YY { public static void main(String[] args) throws IOException { System.out.println("java linux…
1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令 例:有两个py程序  hello.py 复制代码代码如下: def main():    print "Hello" if __name__=='__main__':    main()world.py def main():    print "Hello" if __name__=='__main__':    main() shell 脚本 test.sh…
脚本语言通常是解释型的,这类程序的运行.是由解释器读入程序代码,并将其转换成内部的形式, 再执行,解释器本身是一般的编译型程序. 第一行的开头处使用#!这两个字符,当内核扫描到改行的其余部分,看是否存在可以用来执行程序的 解释器的完整路径. Shell命令与参数 分号(;)可用来分隔同一行的多条命令,Shell会依次执行: 使用&,则表示Shell将在后台执行其前面的命令,Shell不用等到该命令执行完,就可以继续下一条命令的执行: Shell变量 1.名称开头是一个字母或下划线开头符号,后面可…