
Shell
文章平均质量分 61
puyangdev
Q群:126757866
387421656
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Shell入门 hello world
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用java写shell 脚本,扩展名就用java好了。 #!/bin/bash echo "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。 运行Shell脚本有两种方法。原创 2017-03-28 10:17:55 · 261 阅读 · 0 评论 -
Shell until循环
until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。 until 循环格式为: until command do Statement(s) to be executed until command is true done原创 2017-03-28 13:43:39 · 288 阅读 · 0 评论 -
Shell break和continue命令
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。 break命令 break命令允许跳出所有循环(终止执行后面的所有循环)。 下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,就要使用break命令。 #!/bin/bash while : do原创 2017-03-28 13:50:20 · 500 阅读 · 0 评论 -
Shell函数:Shell函数返回值、删除函数、在终端调用函数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。 Shell 函数的定义格式如下: function_name () { list of commands [ return value ] }如果你愿意,也可以在函数名前加上关键字 function: functi原创 2017-03-28 13:57:21 · 666 阅读 · 0 评论 -
Shell函数参数
在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数... 带参数的函数示例: #!/bin/bash funWithParam(){ echo "The value of the first parameter is $1 !" echo "The value of the second pa原创 2017-03-28 14:02:23 · 449 阅读 · 0 评论 -
Shell输入输出重定向:Shell Here Document,/dev/null文件
Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。 输出重定向 命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。 命令输出重定向的语法为: $ command > file这样,输出到显示器的内容就可以被重定向到文件。 例如,下面的命令在显示器原创 2017-03-28 14:17:52 · 278 阅读 · 0 评论 -
Shell替换:Shell变量替换,命令替换,转义字符
如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。 举个例子: #!/bin/bash var=10 echo -e "value of var is $var \n" 运行结果: value of var is 10这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出: value of a is 10\原创 2017-03-28 11:07:16 · 401 阅读 · 0 评论 -
Shell 介绍
1.Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 它虽然不是Unix/Linux系统内核的一部原创 2017-03-28 10:08:24 · 219 阅读 · 0 评论 -
Shell文件包含
像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。 Shell 中包含脚本可以使用: . filename或 source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。 例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下: url="http://blog.youkuaiyun.com/原创 2017-03-29 09:31:39 · 264 阅读 · 0 评论 -
linux命令行快捷键的功能
1. 光标移动 快捷键 Ctrl + a 切换到命令行开始 Ctrl + e 切换到命令行末尾 2. 剪切粘贴 快捷键 Ctrl + u 清除(剪切)光标之前的内容 Ctrl + k 清除(剪切)光标之后的内容 ctrl + y 粘贴 esc + f 把光标移动到单词的结尾 esc + b 把光标移动到单词的开头 ctrl + b ß 光标向左移动一个符号的位置 ct原创 2017-03-30 10:28:21 · 458 阅读 · 0 评论 -
Shell while循环
while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为: while command do Statement(s) to be executed if command is true done命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。 以下是一个基本的while循环,测试条件是:如果COUNTER小于5,那么返回 true。COU原创 2017-03-28 13:40:48 · 333 阅读 · 0 评论 -
Shell for循环
与其他编程语言类似,Shell支持for循环。 for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。 in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。 例如,顺原创 2017-03-28 13:36:43 · 234 阅读 · 0 评论 -
Shell case esac语句
case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。 case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下: case 值 in 模式1) command1 command2 command3 ;; 模式2) command1 command2原创 2017-03-28 13:32:00 · 331 阅读 · 0 评论 -
Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
Shell支持自定义变量。 定义变量 定义变量时,变量名不加美元符号($),如: varName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。原创 2017-03-28 10:40:59 · 294 阅读 · 0 评论 -
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运行结果 1307特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $# 传递给脚本或函数原创 2017-03-28 10:57:21 · 340 阅读 · 0 评论 -
Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 例如,两个数相加: #!/bin/bash val=`expr 2 + 2` echo "Total value :原创 2017-03-28 11:27:33 · 384 阅读 · 0 评论 -
Shell注释
以“#”开头的行就是注释,会被解释器忽略。 sh里没有多行注释,只能每一行加一个#号。 如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢?每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数,没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。原创 2017-03-28 11:33:13 · 213 阅读 · 0 评论 -
Shell字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 单引号 str='this is a string'单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。 双引原创 2017-03-28 11:38:43 · 206 阅读 · 0 评论 -
Shell数组:shell数组的定义、数组长度
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。 bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。 定义数组 在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: array_name原创 2017-03-28 11:47:47 · 457 阅读 · 0 评论 -
Shell echo命令
echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式: echo arg 您可以使用echo实现更复杂的输出格式控制。 显示转义字符 echo "\"It is a test\""结果将是: "It is a test" 双引号也可以省略。 显示变量 name="OK" echo "$name It is a test"结果将是: OK I原创 2017-03-28 11:54:45 · 310 阅读 · 0 评论 -
shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。 注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。 如同 echo 命令,printf 命令也可以输出简单的字符串: $printf "Hello, Shell\n" Hello, Shell $ printf 不像 echo 那原创 2017-03-28 11:58:57 · 1163 阅读 · 0 评论 -
Shell if else语句
if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句: if ... fi 语句; if ... else ... fi 语句; if ... elif ... else ... fi 语句。 1) if ... else 语句 if ... else 语句的语法: if [ expression ] then St原创 2017-03-28 13:26:22 · 235 阅读 · 0 评论 -
shell实用实例技巧
1.使用ifconfig取出网卡eth0的ip地址-看看你有多少方法 方法1: [root@oldboyedu ~]# ifconfig eth0 |sed -n '2p' |sed 's#^.*addr:##g'|sed 's# B.*$##g' 10.0.0.50 方法2:cut [root@oldboyedu ~]# ifconfig eth0|grep 'inet addr'|原创 2017-03-30 09:43:34 · 383 阅读 · 0 评论