标签:Bash相关的结果16条:

    Bash Shell字符串操作小结

      1.取长度str="abcd"exprlength$str  #4echo${#str}    #4expr"$str":".*"#4好像一般使用第二种2.查找子串的位置str="abc"exprindex$str"a" #1exprindex$str"b" #2exprindex$str"x" #0exprindex$str""  #03.选取子串str="abcdef"exprsubstr"$…

    发布于:2019-11-22 08:39:24

    Bash使用示例(1) – 数组

      数组赋值列表赋值用新元素创建数组array=('firstelement''secondelement''thirdelement')下标赋值显式指定元素索引创建数组:array=([3]='fourthelement'[4]='fifthelement')按索引赋值array[0]='firstelement'array[1]='secondelement'按名称赋值(关联数组)declare-…

    发布于:2019-11-21 03:26:33

    Bash使用示例(2) – 内部变量

      $@“$@”把所有的命令行参数作为一个数组返回。与”$*”不一样,它是作为一个字符串来返回。“$@”可以通过循环来遍历所有元素,如下脚本:#!/bin/bashforvarin"$*";do   echo$vardone因为$*只把参数作为一个字符串返回,echo就只被调用一次:~>$./testscript.shfirstargsecondargthirdargfirstargsecond…

    发布于:2019-11-21 03:07:25

    Bash使用示例(3) – 使用trap处理信号

      清理临时文件你可以使用trap命令来捕获信号;shell中的trap捕获信号等同于C语言或大多数其它语言中的signal或者sigaction。trap最常用的场景之一是在预期退出和意外退出时清理临时文件。遗憾的是没有多少shell脚本这样做。#!/bin/sh #Makeacleanupfunctioncleanup(){ rm--force--"${tmp}"} #Trapthespecial…

    发布于:2019-11-21 02:45:49

    Bash使用示例(4) – 重定向输出

      重定向标准输出>重定向当前命令的标准输出(STDOUT)到一个文件或者一个描述符。下面的例子把ls命令的输出存到file.txt文件ls>file.txt>file.txtls目标文件如果不存在就会被创建,或者文件被截断。如果不指定,默认重定向描述符是标准输出或1。下面的命令等同于上面的例子:ls1>file.txt追加vs截断截断>1.如果文件不存在则创建2.截断(…

    发布于:2019-11-21 02:16:57

    Bash使用示例(5) – 条件表达式

      文件类型测试-e条件运算符用来测试一个文件是否存在(包括所有文件类型,目录等)if[[-e$filename]];then echo"$filenameexists"fi也可以测试指定类型的文件if[[-f$filename]];then echo"$filenameisaregularfile"elif[[-d$filename]];then echo"$filenameisadirectory…

    发布于:2019-11-21 01:48:02

    Docker实践(19) – 保留容器的bash历史记录

      我们知道在容器内做试验完成时,容器可以设置自动清除,这就省了好多事。不过仍然有一些不方便的地方。其中一个是我们可能需要在容器中多次执行一个相同的命令,而bash历史又没有了,只能手打。问题你想与容器共享你的主机bash历史记录。解决方法为dockerrun命令设置一个别名来与主机共享bash历史记录。讨论要理解这个问题,我们来展示一个场景。假设你在Docker容器做试验,比如做一些有趣的和可重复使…

    发布于:2019-11-20 17:38:37

    如何使用Bash解析nginx.conf中server_name的第一个域名

      问题在指定的nginx.confvhost配置文件中,如何获取server_name变量的第一个域名?vhosts配置文件是与nginx.conf分离的,通过include引入,现在我能使用grep显示server_name的行内容,不过我仅想要第一个域名。所以,如果我执行grep“server_name”/each/vhost/conf,将输出:root@getyou:/home#grep"se…

    发布于:2019-11-13 17:49:10

    如何在bash中使用awk比较日期

      问题有一个文件每行包含了一些信息,其中一个字段是生日。我想打印在指定一个日期之后日期那些行。我使用如下awk命令:awk-F'|''FNR>1$dateA<=$5{print$1""$2""$3""$4""$5""$6""$7""$8}'$FILE不过似乎不行(所有行都打印了)。日期格式为YYYY-MM-DD,所以字母顺序也按时间顺序排列。这个文件其中的一些行:109951162890…

    发布于:2019-11-13 12:06:13

    使用bash脚本自定义创建postgres docker容器

      1.查看镜像库中postgres镜像Dockersearchpostgres2.下载镜像dockerpullpostgres3.查看镜像dockerimages4.配置sh脚本mkdirpostgres(创建文件夹)cdpostgresmkdirdata(创建数据文件夹)touchpostgres.sh(常见sh脚本文件)vipostgres.sh(编辑脚本)粘贴以下代码到postgres.sh文…

    发布于:2019-11-13 09:42:20

    centos7.1 LVS健康检查bash脚本

      环境:centos7.1简介:当脚本检测到某个RS的http服务掉线时,在LVS中自动移除RS;当所有RS的http服务掉线时,在LVS中移除所有RS,并将LVS调度器上的http服务加入到LVS中,作为告警页面。当脚本检测到某个RS的http服务活跃时,自动将其加入到LVS中,如果有调度器本身的存在LVS中,将其删除。该脚本经本人测试,完全达到要求。以下为脚本:#!/bin/bash#rs=("…

    发布于:2019-11-13 04:25:52

    bash启动时加载配置文件过程

      bash启动时加载配置文件过程当用户登录系统时,会加载各种bash配置文件,还会设置或清空一系列变量,有时还会执行一些自定义的命令。这些行为都算是启动bash时的过程。另外,有些时候登录系统是可以交互的(如正常登录系统),有些时候是无交互的(如执行一个脚本),因此总的来说bash启动类型可分为交互式shell和非交互式shell。更细分一层,交互式shell还分为交互式的登录shell和交互式非登录shell,非交互的shel…

    发布于:2019-11-11 06:30:41

    Linux系统下通过bash shell脚本实现倒计时的方法

      本文主要讲述如何在linux系统下通过bashshell脚本来实现在屏幕上输出倒计时的方法。先来看看实现后的脚本,如下:#!/bin/bash#scriptname:ctimer.sh#Author:osetc.com#--------------------------------------------------------row=2col=2countdown(){cleartputcup…

    发布于:2019-11-10 19:32:49

    LINUX的bash如何给shell脚本传参数

      bash命令后边可以跟任意的参数,具体要如何操作?执行“vitest.sh”创建一个新的shell脚本。脚本test.sh的内容如下:#!/bin/shname=$1echo"the${name}!"给新建的test.sh的脚本赋可执行权限,命令为“chmod755test.sh”。执行可以看到结果.如果想判断参数为空则中止执行,可以if["$1"=""];thenecho-e"请提供参数."ex…

    发布于:2019-11-09 02:55:08

    两种方法解决Linux wget报错-bash: wget command not found

      今天使用DigitalOcean的vps服务器,wget时提示-bash:wgetcommandnotfound.估计是安装的Linux系统,CentOS+7.4+x64wget软件包没有默认被安装。可以通过以下两种方法来安装:1、rpm安装rpm下载源地址:http://mirrors.163.com/centos/6.5/os/x86_64/Packages/下载wget的RPM包:http:…

    发布于:2019-11-03 22:56:17

    /bin/bash^M: bad interpreter: no such file or directory

      错误原因之一很有可能是你的脚本文件是DOS格式的。提供两种解决方法:1、vifilename,在vi中键入命令setff=unix,保存退出。2、sed-i‘s/{ctrl-v}{ctrl-m}//g’[file],利用sed删除dos字符。

    发布于:2019-10-14 00:16:10