我的第一次shell】的更多相关文章

我的第一次shell 最近我们的项目需要进行优化,整体架构进行改造. 然后我们红超哥就看我骨骼惊奇,说小伙子你想不想当做掌门人呀.(我说不想哈哈) 想不想也没用了,红超哥说我们现在的架构有所改变,需要你写一套自动部署脚本.(弱小的我没有说出一个不字) Shell可以干啥 如果说小伙伴们使用过Linux操作系统那肯定使用过shell命令,cd . ls 再或者你们一定看过 rm -rf xxxx 哈哈,这些其实都是我们的shell命令,我们将程序部署到系统上面去的时候每次都需要输入一推命令,如果一…
本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过程如下图: 以执行以下命令为例: echo -e "some files:" ~/i* "\nThe date:$(date +%F)\n$name's age is $((a+4))" >/tmp/a.log 假设在执行该命令前,已赋值变量"name=longshuai"和"a=…
shell解析命令行的过程以及eval命令   本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过程如下图: 以执行以下命令为例: echo -e "some files:" ~/i* "\nThe date:$(date +%F)\n$name's age is $((a+4))" >/tmp/a.log 假设在执行该命令前,已赋值变量"name=…
背景 说下需求,自己搭建的一个接口开放平台,包含API文档和功能测试,部分内网地址需要修改hosts文件 准备 新建表 然后查看服务器中hosts文件 命令:cat /etc/hosts 我们要做的就是把这张表和这个文件结合起来,通过web页面进行增删改查管理 我在我自己的apidoc项目中添加了一个hosts管理模块用户管理,这里的管理仅仅是数据库上的增删改查,下面,我将增加一个按钮,把数据库中hosts域名一键更新到服务器上的 /etc/hosts 文件中 这里我是用的是PHP的 Yii2框…
将目录下的part-开头的文件带入程序处理 #!bin/sh FILES=/data5/follow_relation_list_part_00000/part-* file="" for f in $FILES do file="${f}.txt" ./test ${f} > $file done 运行的时候: sh -x exe.sh 可以看到参数情况…
shell程序介绍 1.查看我们的Linux(centos6.5为例)有多少我们可以使用的shell: [root@localhost bin]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh 系统某些服务在运作过程中,会去检查使用者能够使用的shells,而这些shell的查询就是由/etc/shells这个档案. 2.当我们登入Linux系统的时候,系统就会给我一个shell来工作,而…
转载 http://www.th7.cn/system/lin/201309/44683.shtml expr bc 在Linux下做算术运算时你是如何进行的呢?是不是还在用expr呢?你会说我还会bc还有其它的呢! 闲话不多扯,干正事! expr expr在使用中要注意一些书写,如表达式中量和运算符号之间的空格及一些运算符号需要转义,还有一点需要记住,expr只适用于整数之间的运算! 表达式 expr的help文档中关于表达式部分如下: ARG1 | ARG2 若ARG1 的值不为0 或者为空…
shell实例手册 0 说明{ 手册制作: 雪松} 1 文件{        ls -rtl                 # 按时间倒叙列出所有目录和文件 ll -rt    touch file              # 创建空白文件    rm -rf 目录名           # 不提示删除非空目录(-r:递归删除 -f强制)    dos2unix                # windows文本转linux文本      unix2dos                #…
1.什么是shell?Shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的是Bash. 2.shell的分类(1)bash bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,包括许多附加的特点.Bash 有可编辑的命令行,可以回查历史命令,支持 tab 键补齐以使用户避免输入长的文件名.(2)csh C shell 使用的是“类C”语法,借鉴了 Bourne shell 的许多特点,只是内部 shell…
mysql_backup.sh是关于MySQL的一个使用XtraBackup做备份的shell脚本,实现了简单的完整备份和增量备份.以及邮件发送备份信息等功能.功能目前还比较简单,后续将继续完善和增加相关功能.参考了网上MySQL备份的脚本,如有不足的地方,欢迎大家拍砖! 1: 使用前,请先做一些配置选项修改,例如备份路径设置.连接数据库的账号密码等等. 2: 在BACKUP_DIR目录下,创建full.incr.logs.scripts四个目录,将mysql_backup.sh放置在scrip…
1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.declare.expr.双括号等.shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的shell中可用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符可以是字母.数字(0~9)…
需求: 把找到的文件逐行输出,然后用rm在许可的情况下删除   前置准备:  $ls rm.sh test1 test2 test3 test4 test5 test6 $cat rm.sh #! /bin/bash while read fileinfo do rm -iv $fileinfo done< <( find . -name 'test*' -print ) 第一次执行结果: $bash rm.sh rm:是否删除普通文件“./test2”? 出现的问题: 虽然rm显示了询问信息…
Shell十三问 转载于网络,稍加整理. (一) 为何叫做Shell? 我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动,硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管,事实上, 我们每天所谈的linux , 严格来说只是一个操作系统, 我们称之为"核心(kernel)".然而,从使用者的角度来说,使用者也没办法直接操作 kernel ,而是透过 kernel 的"外壳"程序,也就是所谓的…
变量 是一种很“弱”的变量,默认情况下,一个变量保存一个串,Shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如 let.declare.expr.双括号等. Shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的Shell中可用.而环境变量则可以在创建它们的Shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用Shell变量. 变量的命名规则: 1.可以使用英文字母.数字(0~9)和下划线组成,任何其他的字符都标志着变量名的终止.…
在ubuntu 14.04之后,所有的U盘挂载也分用户之分,最近很多操作也和U盘有关,所以就研究了一上午shell脚本函数以及字符串操作的方法. 字符串操作: 获取他的命令输出比较简单,打个简单的比方,我想获取whoami 的用户名,那么直接可以使用如下代码. ```sh #!/bin/sh USER_NAME=$(whoami) main() { sudo cp target/* /media/$USER_NAME/rootfs/ -rf } main ``` ```sh #如果你想操作这些字…
原文地址:http://blog.sina.com.cn/s/blog_62eb16bb01014dbh.html 一. trap捕捉到信号之后,可以有三种反应方式: (1)执行一段程序来处理这一信号 (2)接受信号的默认操作 (3)忽视这一信号 二. trap对上面三种方式提供了三种基本形式: 第一种形式的trap命令在shell接收到signal list清单中数值相同的信号时,将执行双 引号中的命令串. trap 'commands' signal-list trap "commands&…
shell 命令整理     bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#version 3.0  2017.1.1#Author woodman 一.bash内建命令 命令 描述 Alias 为指定命令定义一个别名 Cd 切换的指定目录 Declare 声明一个变量或变量类型 Echo 将指定字符串输出到STDOUT Exit 强制shell以指定的退出状态码退出 Export…
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取word ${parameter#word}…
1) 为何叫做 shell ?在介绍 shell 是甚幺东西之前,不妨让我们重新检视使用者与计算机系统的关系:图(FIXME)我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动,硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管,事实上,我们每天所谈的 linux ,严格来说只是一个操作系统,我们称之为"核心(kernel)".然而,从使用者的角度来说,使用者也没办法直接操作 kernel ,而是透过 kernel…
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为xml或html文件, 并分析了核心语句.本文介绍的方法适用于PostgreSQL ,相对mysql而言,shell 中读写PostgreSQL会更简单些. 1. 连接mysql 数据库 shell中连接数据库的方法很简单,只需要指定用户名,密码,连接的数据库名称,然后通过重定向,输入mysql的语…
Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail:邮箱,#function(功能),#Version:版本 3.脚本注释(用英文注释 中文可能乱码.) 4.脚本以.sh结尾 不是必须的 5.成对的符号,一次性写全,退格补内容.特殊符号[ xxxx ] 中括号中间内容两边都有空格. 6 .代码有条理性(通过缩进). 2.执行:1.sh xxx.sh…
正则表达式 符号 含义 . 匹配任意ASCII中任意单个字符,或是字母,或是数字 ^ 匹配行首 $ 匹配行尾 * 匹配任意字符或前一个的一次或多次重复 \ 转义,被转义的有$ . ‘ “ * [ ] ^ \ ( ) | + ? […] [-] 匹配一个范围或集合 \{\} 匹配n次:\{n\},最少n次:\{n,\},m到n次:\{m,n\}, + 仅用于awk,标识匹配一个或多个 ? 仅用于awk,匹配0次或1次 grep 先给出示例文件data.f的内容 Dec 3BC1977 LPSX S…
转:http://justcoding.iteye.com/blog/1963463 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var}变量var的值, 与$var相同 ${var-DEFAULT}如果var没有被声明, 那么就以$DEFAULT作为其值 *…
慢慢学习,慢慢记吧 第一个shell脚本,创建用户,默认密码用户名,使得用户第一次登陆强制修改密码的脚本 #/bin/bash #创建用户,指定初始密码用户名,第一次登陆后强制修改用户名 useradd $ | chage -d $…
在编写shell脚本中,经常要处理一些输入参数,在使用过程中发现getopts更加方便,能够很好的处理用户输入的参数和参数值.   getopts用于处理用户输入参数,举例说明使用方法: while getopts :a:b:cdefg opt; do     case $opts in         a) do sth;    ......         cde) do another;     esac done   几个重要变量: OPTIND:getopts使用OPTIND作为索引,…
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${para…
linux脚本(shell)编程 啊,昨天上网看到一篇讲 linux/unix shell 的文章,想想自己最后写这东西也是一年前的事了,想想都快忘光了. 还是整理一下,做一次回顾,以后说不定还用得上:帖出来,方便第一次学习这东西的同道中人. 如果发现有错误的地方,请指出,留一句即可,我会感激的.废话少说了!!! linux 下最重要的脚本语言算是 bash 了,我也就写点这个吧(我也只会这个:)).跟其他开发语言(如C)比,bash 是比较简单的一种语言,主要用于写一些脚本代码,一些批处理或安…
背景 前几天在研究线程的时候,看到一句话说java里的线程Thread.run都会在Linux中fork一个的轻量级进程,于是就想验证一下(笔者的机器是Linux的).当时用top命令的时候,进程总是跳来跳去的,看起来很辛苦,有个工具叫htop,支持filter,感觉也没那么直观.根据在网上查到的资料和man top,整理出了两条语句: top -p pgrep java | tr "\\n" "," | sed 's/,$//' top -d 3 -n 100 -…
截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取…
一.变量赋值和引用 Shell 编程中,使用变量无需事先声明,同时变量的命名不惜遵循如下规则: 首个字符必须为字母(a-z,A-Z)或者_ 变量名中间不能有空格,可以使用_连接 不能使用其他表达符号 需要给变量赋值时,可以这么写 变量名=值 给变量赋值时,=两边不能留空格 取用一个变量的值,可以使用${变量名},当然在一般情况下,可以简写为$变量名 user@ae01:~$ HELLO="HELLO" #等号两边不能有空格 user@ae01:~$ echo ${HELLO} HELL…