Bash Shell中Shift用法分享
shift可以用来向左移动位置参数。
Shell的名字 $0
第一个参数 $1
第二个参数 $2
第n个参数 $n
所有参数 $@ 或 $*
参数个数 $#
shift默认是shift 1
以下边为例:
cat shift.sh
#----------------------------输出文字-开始----------------------------
#!/bin/bash
until [ -z "$1" ] # Until all parameters used up
do
echo "$@ "
shift
done
#----------------------------输出文字-结束----------------------------
sh shift.sh 1 2 3 4 5 6 7 8 9
#----------------------------输出文字-开始----------------------------
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9
4 5 6 7 8 9
5 6 7 8 9
6 7 8 9
7 8 9
8 9
9
#----------------------------输出文字-结束----------------------------
相关推荐
-
Shell常见用法小记
shell的简单使用 最近发现shell脚本在平常工作中简直算一把瑞士军刀,很多场景下用shell脚本能实现常用的简单需求,而之前都没怎么学习过shell,就趁机把shell相关的语法和常见用法总结了下,方便以后随时回顾和查阅! 1. 综述 shebang 其实shell的开始并不难,第一行如下: #!/bin/bash 叫做shebang 注释 shell的注释以#开头(这点类似于python) 变量 变量定义: var_test1="hello" 注意定义和赋值时=两边均不能有空格
-
Shell脚本中让进程休眠的方法(sleep用法)
有时候写Shell的脚本,用于顺序执行一系列的程序. 有些程序在停止之后并没能立即退出,就例如有一个 tomcat 挂了,就算是用 kill -9 命令也还没瞬间就结束掉. 这么如果 shell 还没等其退出就接着执行下一行,这么就出乱子了. 刚知道了原来 shell 也能有 sleep 的参数. 复制代码 代码如下: sleep 1 睡眠1秒 sleep 1s 睡眠1秒 sleep 1m 睡眠1分 sleep 1h 睡眠1小时 用法如下,例如重启tomcat: 复制代码 代码如下: #!/bi
-
shell中case的用法学习笔记
shell中的case语句: 可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 使用格式:case 匹配母板 in模板1 [ | 模板2 ] - ) 语句组 ;;模板3 [ | 模板4 ] - ) 语句组 ;;esaccase语句的匹配是从上往下地匹配顺序.因此,case语句编写的原则是从上往下,模板从特殊到普通.在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能. 例1: 复制代码 代码如下: #!
-
Shell函数的7种用法介绍
1. 在shell文件内部定义函数并引用: 复制代码 代码如下: [~/shell/function]# cat factorial.sh #!/bin/bash function factorial { factorial=1 for (( i=1;i <= $1;i++ )) do factorial=$[ $factorial * $i ] done echo $1的阶乘是:$factorial } echo '程序名':$0,用于求阶乘 f
-
ShellExecute函数用法的实例代码
复制代码 代码如下: #include<windows.h>#include<stdio.h>int main(){ //打开记事本 // ShellExecute(NULL, "open", "notepad.exe", NULL, NULL, SW_SHOWNORMAL); //使用notepad.exe 打开指定文本,参数不要忘记加'\' //ShellExecute(NULL, "open", &
-
linux shell命令行参数用法详解
习惯使用linux命令行来管理linux系统,例如: 复制代码 代码如下: $ date 二 11 23 01:34:58 CST 1999 $ 用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统.命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下: 复制代码 代码如下: $ Command Option Arguments 一,选项和参数 选项是包括一个或多个字母的代码,它前面有一个减号(减
-
Shell脚本数组用法小结
array作为一种数据结构,在一些高级语言中都是有直接提供和实现的,当然我shell中也是有的哈. PS:写这篇文章的原因是B哥在群里发了一个截图: 我大B哥依然是全能型人才哈...废话少说,说下正题 1.怎么声明一个数组变量? 直接赋值: 复制代码 代码如下: array[0]="Zero" array[1]="One" array[2]="Two" declare声明: 复制代码 代码如下: declare -a array 小括号空格法:
-
shell中冒号的特殊用法分享
: ${VAR:=DEFAULT} 当变量VAR没有声明或者为NULL时,将VAR设置为默认值DEFAULT.如果不在前面加上:命令,那么就会把${VAR:=DEFAULT}本身当做一个命令来执行,报错是肯定的.
-
Shell中eval的用法示例
功能说明:告知shell取出eval的参数,重新运算求出参数的内容. 语 法:eval [参数] 补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行. 参 数:参数不限数目,彼此之间用分号分开. 1.执行命令行之前扫描它两次,再次运算求出参数的内容. 复制代码 代码如下: [root@localhost blue]# a="ls |more" [root@localhost blue]# $a
-
linux shell命令行选项与参数用法详解
问题描述:在linux shell中如何处理tail -n 10 access.log这样的命令行选项?在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景.1,直接处理,依次对$1,$2,...,$n进行解析,分别手工处理:2,getopts来处理,单个字符选项的情况(如:-n 10 -f file.txt等选项):3,getopt,可以处理单个字符选项,也可以处理长选项long-option(如:--prefix=/home等).总结:小脚本手工处理即可,getopt
随机推荐
- 揭秘PowerShell 5.0新特性和新功能
- C++中调用Lua配置文件和响应函数示例
- 轻轻松松学JS调试(不下载任何工具)
- 关于shell命令的定向输出 2>&1
- PHP 飞信好友免费短信API接口开源版
- python学习笔记之调用eval函数出现invalid syntax错误问题
- phplock(php进程锁) v1.0 beta1
- 在Node.js应用中使用Redis的方法简介
- java中url汉字编码互相转换实例
- 使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
- 可以改善mysql性能的InnoDB配置参数
- jQuery双向列表选择器select版
- PHP使用Pear发送邮件(Windows环境)
- linux 共享内存
- android 获取本机的IP地址和mac物理地址的实现方法
- javascript for循环设法提高性能
- php class中self,parent,this的区别以及实例介绍
- Cisco路由器故障判断及排除
- MySQL慢SQL语句常见诱因以及解决方法
- 在alpine镜像中添加ansible服务的方法