当前搜索:

Shell-alias在Shell脚本中的使用

概述众所周知,shell脚本使用的是非交互式方式,在非交互式模式下alias扩展功能默认是关闭的,此时虽然可以定义alias别名,但是shell不会将alias别名扩展成对应的命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH中均没有与alias别名同名的命令,则shell会找不到指定的命令。在shell中开启alias使用shell内置命令shopt命令来开启alias扩...
阅读(2257) 评论(0)

Linux-编写Shell的几个技巧

1、 脚本中添加注释在脚本中作注释能帮你或别人翻阅你的脚本时了解脚本的不同部分所做的工作。注释用 # 号来定义2、 当运行失败时使脚本退出有时即使某些命令运行失败,bash 可能继续去执行脚本,这样就影响到脚本的其余部分(会最终导致逻辑错误)。用下面的行的方式在遇到命令失败时来退出脚本执行:# 如果命令运行失败让脚本退出执行 set -o errexit # 或 set -e举例#!/bin/ba...
阅读(1754) 评论(0)

Shell-实际业务操作03

#!/bin/sh ############################## ## 名称: TarCdrAndTransfer.sh.sh ## 描述: 将/bakcdr/cdrbak/VOICE[DATA/SMS]/normal目录下的日期目录Tar成GZ包,mv到 /bakcdr/cdrbak/VOICE/gz_file, ## 然后通过FTP传递到目标主机 151 cd...
阅读(2352) 评论(0)

Shell-实际业务操作02

#!/bin/sh ############################## ## 名称: MvCdr4Classify.sh ## 描述: 将/ocs/data/output/251/normal/bak目录下的全部话单按照类别存储到对应的目录下(VOICE\DATA\SMS) ## 规则 001 Data 002 Voice 004 SMS ##...
阅读(2309) 评论(0)

Shell-实际业务操作01

#!/bin/sh ############################## ## 名称: MvOtherCdrTo251.sh ## 描述: /ocs/data/output目录下的25开头(251,257,258除外)对应目录下的/normal/bak下的文件 全部转移到/ocs/data/output/251/normal/bak ## 参数: 暂无 ## 作者: 小工匠 ## 日期: 2...
阅读(2122) 评论(0)

在 Shell 脚本中跟踪调试命令的执行

shell 脚本调试系列本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的例子展示了如何在这些模式下启用 shell 脚本调试。Linux 中启用 Shell 脚本的调试模式在 Shell 脚本中执行语法检查调试模式 在 Shell 脚本中跟踪调试命令的执行概述shell 跟踪简单的来说就是跟踪 shell 脚本中的命令的执行。要打开 sh...
阅读(2183) 评论(0)

在 Shell 脚本中执行语法检查调试模式

shell 脚本调试系列Linux 中启用 Shell 脚本的调试模式在 Shell 脚本中执行语法检查调试模式 在 Shell 脚本中跟踪调试命令的执行概述写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作。在本系列的这一部分,我们将了解如何使用语法检查调试模式。记住我们之前在本系列的 Linux 中启用 Shell 脚本的调试模式 中解释了不同...
阅读(2353) 评论(0)

Linux 中启用 Shell 脚本的调试模式

概述脚本是存储在一个文件的一系列命令。在终端上输入一个个命令,按顺序执行的方法太弱了,使用脚本,系统中的用户可以在一个文件中存储所有命令,反复调用该文件多次重新执行命令。在学习脚本或写脚本的初期阶段,我们通常从写小脚本或者几行命令的短脚本开始,调试这样的脚本时我们通常无非就是通过观察它们的输出来确保其正常工作。然而,当我们开始写非常长或上千行命令的高级脚本,例如改变系统设置的脚本,在网络上执行关键备...
阅读(1822) 评论(0)

Shell脚本攻略05-数组和关联数组

概述之前梳理的博文 Shell 数组 http://blog.csdn.net/yangshangwei/article/details/52372608数组是shell脚本非常重要的组成部分,它借助索引将多个独立的数据存储为一个集合。普通数组只能使用整数作为数组索引。 Bash也支持关联数组,它可以使用字符串作为数组索引。在很多情况下,采用字符串式索引更容易理解,这时候关联数组就派上用场了。...
阅读(1722) 评论(0)

Shell脚本攻略04-玩转文件描述符及重定向

概述文件描述符是与文件输入、输出相关联的整数。它们用来跟踪已打开的文件。最常见的文件描述符是stdin、 stdout和stderr。我们甚至可以将某个文件描述符的内容重定向到另一个文件描述符中。下面给出一些对文件描述符进行操作和重定向的例子。理论知识在编写脚本的时候会频繁使用标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。通过内容过滤将输出重定向到文件是我们平日里的基本...
阅读(1927) 评论(0)

Shell脚本攻略03-使用shell进行数学运算

概述无论哪种编程语言都少不了算术操作,在这则攻略中,我们将会研究在shell中进行算术运算的各种方法。...
阅读(1749) 评论(0)

Shell脚本攻略02-玩转变量与环境变量

变量是任何一种编程语言都必不可少的组成部分,用于存放各类数据。 脚本语言通常不需要在使用变量之前声明其类型。只需要直接赋值就可以了。 在Bash中,每一个变量的值都是字符串。 无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。 有一些特殊的变量会被shell环境和操作系统环境用来存储一些特别的值,这类变量就被称为环境变量。...
阅读(2166) 评论(0)

Shell脚本攻略01-简介/终端打印

概述 终端打印  玩转变量与环境变量  使用函数填加环境变量  通过shell进行数学运算  玩转文件描述符与重定向  数组和关联数组  使用别名  获取终端信息  获取、设置日期及延时  调试脚本  函数和参数  将命令序列的输出读入变量  以不按回车键的方式获取字符”n”  运行命令直至执行成功  字段分隔符和迭代器  比较与测试简介...
阅读(1981) 评论(0)

Shell 正则表达式

什么是正则表达式正则表达式是用于描述字符排列和匹配模式的一种语法规则。 它主要用于字符串的模式分割、匹配、查找以及替换操作。概念看看就行,为了保证博文的完整性,记录下,其实没太大用….正则表达式的分类 1.基本的正则表达式(Basic Regular Expression 又叫Basic RegEx 简称BREs) 2.扩展的正则表达式(Extended Regular Expressi...
阅读(2231) 评论(0)

Shell 文件包含

概述和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。语法Shell 文件包含的语法格式如下:. filename # 注意点号(.)和文件名中间有一空格或source filename栗子创建两个 shell 脚本文件。 test1.sh 代码如下:#!/bin/bash # author: 小工匠 # url: http://blog.c...
阅读(2331) 评论(0)

Shell 输入/输出重定向

概述大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。重定向命令需要注意的是文件描述符: 0 通常是标准输入(STDIN), 1 是标准输出(STDOUT), 2 是标准错误输出(STDERR)。输出重定向语法重定...
阅读(2979) 评论(0)

Shell 函数

语法linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:[ function ] funname [()]{ action; [return int;]}说明: 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,...
阅读(2200) 评论(0)

Shell 流程控制

概述和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法):<?php if (isset($_GET["q"])) { search(q); } else { // 不做任何事情 }在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else。if elseifif 语句语法格式:if condition then co...
阅读(2010) 评论(0)

Shell test命令

概述Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。或者使用 [ ] 来判断数值测试#!/bin/bash num1=100 num2=100 if test $[num1] -eq $[num2] then echo '两个数相等!' else echo '两个数不相等!' fi输出结果:两个数相等!字符串测试#!/bin/ba...
阅读(2272) 评论(0)

Shell printf 命令

上篇博文我们说了 Shell echo-使用echo实现更复杂的输出格式控制这篇博文我们来学习 Shell 的另一个输出命令 printf。语法printf 命令模仿 C 程序库(library)里的 printf() 程序。标准所定义,因此使用printf的脚本比使用echo移植性好。printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右...
阅读(2210) 评论(0)
27条 共2页1 2 下一页 尾页
    个人资料
    • 访问:1122007次
    • 积分:16907
    • 等级:
    • 排名:第676名
    • 原创:452篇
    • 转载:0篇
    • 译文:5篇
    • 评论:144条
    WeChat
      欢迎关注我的公众号,干货只有干货,还有更多惊喜和资源在等着你
    博客专栏