
shell 脚本
文章平均质量分 63
风云叶易
年轻没有失败
展开
-
linux 下 `dirname $0`
【`】,学名叫“倒引号”, 如果被“倒引号”括起来, 表示里面需要执行的是命令。比如 `dirname $0`, 就表示需要执行 dirname $0 这个命令【“”】 , 被双引号括起来的内容, 里面 出现 $ (美元号: 表示取变量名) `(倒引号: 表示执行命令) \(转义号: 表示转义), 其余的才表示字符串。【’‘】, 被单引号括起来的内容, 里面转载 2016-10-14 09:20:09 · 68062 阅读 · 6 评论 -
shell脚本中的条件测试if中的-z到-d的意思
[ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -f FILE ] 如果 FILE 存在且是一个普通文件转载 2016-10-14 11:31:05 · 9386 阅读 · 0 评论 -
Linux 命令下面的/dev/null 目录
Linux 命令下面的/dev/null 目录在shell 脚本中经常会看到 >/dev/null 与>/dev/null 2>&1这样例子#!/bin/bashcd `dirname $0`cd ..DEPLOY_DIR=`pwd`SERVER_NAME=sharding-jdbc-transaction-async-job#LOG LOCATIONLOGS_DIR=$原创 2016-10-14 14:27:36 · 20048 阅读 · 0 评论 -
后台执行命令 -- &和nohup
当 我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,你可能 希望它能够在每天的非负荷高峰时间段运行。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。在本文中将讨论:• 设置crontab文件,并用它来提交作业。• 使用a t命令来提交作业。•转载 2016-10-14 13:37:38 · 2694 阅读 · 0 评论 -
linux shell中,单引号、 双引号,反引号(``),$()的区别
一、单引号和双引号首先,单引号和双引号,都是为了解决中间有空格的问题。空格在linux中时作为一个很典型的分隔符,比如 string1=this is a string,这样执行会报错。为了避免这个问题,因此就产生了单引号和双引号。他们的区别在于,单引号将剥夺其中的所有字符的特殊含义,而双引号中 的'$'(参数替换)和'`'(命令替换)是例外。所以,两者基本上没有什么区别,除非在内转载 2016-10-14 11:15:24 · 1732 阅读 · 0 评论 -
Linux shell脚本的建立与执行
在进行linux测试时编写脚本是必不可少的。最近经常使用Linux,感觉太频繁地敲击键盘有些累了,于是想到了Shell脚本。可以把太多的命令写成一个脚本,这样每次执行一遍 shell文件,就可以省去了敲击键盘的时间。于是在网上搜了一些有关Linux下脚本编程的内容。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统转载 2016-10-14 10:02:08 · 22351 阅读 · 0 评论 -
Shell文件包含
像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。Shell 中包含脚本可以使用:. filename或source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下:转载 2016-10-21 18:00:56 · 288 阅读 · 0 评论 -
Shell输入输出重定向:Shell Here Document,/dev/null文件
Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。输出重定向命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。命令输出重定向的语法为:$ command > file这样,输出到显示器的内容就可以被重定向到文件。转载 2016-10-21 17:59:31 · 458 阅读 · 0 评论 -
Linux Shell 之 Shell中的函数调用
说起函数调用,相信大家也不会陌生,然而对于初学Shell的我来说,Shell中函数调用方式却有点让我不太习惯,自己也走了不少的弯路,因为传递参数时出了一个很“自然”的错误,也让我吃了不少的苦头,所以总结一下Shell中函数的调用方法。一、Shell中函数的定义为了方便程序和管理和模块化并减少代码的重复,函数的确是一个好东西。而Shell中函数的定义有两种方法,如下:functi转载 2016-10-21 17:57:03 · 432 阅读 · 0 评论 -
Shell数组:shell数组的定义、数组长度
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: array_name转载 2016-10-21 17:53:15 · 912 阅读 · 0 评论 -
Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加:#!/bin/bashval=`expr 2 + 2`echo "Total v转载 2016-10-21 17:45:23 · 846 阅读 · 0 评论 -
Shell替换:Shell变量替换,命令替换,转义字符
如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。举个例子:#!/bin/basha=10echo -e "Value of a is $a \n"运行结果:Value of a is 10这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:Value of a is 1转载 2016-10-21 17:40:11 · 538 阅读 · 0 评论 -
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949特殊变量列表变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表转载 2016-10-21 17:36:38 · 306 阅读 · 0 评论