![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell
振长策而御宇内
一只在编程海洋中遨游的小虾米
展开
-
Shell将文件后缀重命名
find . -name "*.PNG" | sed 's/\.PNG$//' | xargs -I{} mv {}.PNG {}.png原创 2016-01-31 19:20:56 · 1150 阅读 · 0 评论 -
Shell函数
Shell 函数的定义格式如下:function_name () { list of commands [ return value ]}如果你愿意,也可以在函数名前加上关键字 function:函数返回值,可以显式增加return语句;如果不加,会将最后一条命令运行结果作为返回值。Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值原创 2016-02-29 17:49:59 · 381 阅读 · 0 评论 -
Shell循环语句
for循环一般格式为:for 变量 in 列表do command1 command2 ... commandNdone列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。例如,顺序输出当前列表中的数字:for原创 2016-02-29 17:32:28 · 509 阅读 · 0 评论 -
Shell条件语句
if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:if ... fi 语句;if ... else ... fi 语句;if ... elif ... else ... fi 语句。1) if ... else 语句if ... else 语句的语法:if [ expression ]then Statemen原创 2016-02-29 17:23:24 · 548 阅读 · 0 评论 -
Shell打印echo和printf
echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式:echo arg您可以使用echo实现更复杂的输出格式控制。显示转义字符echo "\"It is a test\""结果将是:"It is a test"双引号也可以省略。显示变量name="OK"echo "$name It is a tes原创 2016-02-29 17:07:48 · 11858 阅读 · 0 评论 -
Shell数组
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: array_name=(value1 ... valuen)例如:array_name=原创 2016-02-29 16:55:38 · 466 阅读 · 0 评论 -
Shell字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。单引号str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。原创 2016-02-29 16:43:08 · 375 阅读 · 0 评论 -
Shell简介
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。Shell有两种执行命令的方式:交互式(Interactive原创 2016-02-29 11:30:36 · 454 阅读 · 0 评论 -
Shell变量
输入一些代码:#!/bin/bashecho "Hello World !"“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。运行Shell脚本有两种方法。作为可执行程序将上面的代码保存为test.sh,并 cd 到相应目录:chmod +x ./test.sh #使脚本具有原创 2016-02-29 14:19:44 · 451 阅读 · 0 评论 -
Shell特殊变量
某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。原创 2016-02-29 14:33:34 · 435 阅读 · 0 评论 -
Shell运算符
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加:#!/bin/bashval=`expr 2 + 2`echo "Total value :原创 2016-02-29 15:45:34 · 370 阅读 · 0 评论 -
Shell变量替换
如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。举个例子:#!/bin/basha=10echo -e "Value of a is $a \n"运行结果:Value of a is 10这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:Value of a is 10\原创 2016-02-29 15:36:01 · 466 阅读 · 0 评论 -
Shell脚本使用TinyPng批量压缩图片
使用shell脚本,接入tinypng官方程序接口,批量压缩图片#!/bin/bashdir=/Users/shake/Documents/tinypng/retry1dir2=/Users/shake/Documents/tinypng/target2echo Enter $dircd $dirmkdir -p $dir2travel_file(){ echo $1原创 2015-12-30 22:26:10 · 3416 阅读 · 0 评论 -
Shell解析Json字符串
parse_json(){ value=`echo $1 | sed 's/.*"url":\([^,}]*\).*/\1/'`echo $value | sed 's/\"//g'} 用法:url=$(parse_json $s "url")原创 2016-01-31 19:18:06 · 20960 阅读 · 0 评论 -
Shell脚本使用TinyPng批量压缩图片New
# #!/bin/bashdir=/Users/shake/Documents/tinypng/retry1dir2=/Users/shake/Documents/tinypng/target2echo Enter $dircd $dirmkdir -p $dir2parse_json(){ value=`echo $1 | sed 's/.*"url":\([^,}]*\).*原创 2016-01-31 19:19:18 · 1974 阅读 · 0 评论 -
Shell重定向和包含外部脚本
Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。输出重定向命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。命令输出重定向的语法为:$ command > file这样,输出到显示器的内容就可以被重定向到文件。例如原创 2016-02-29 18:04:43 · 578 阅读 · 0 评论