`

Bash小技巧(惯用法)-1

 
阅读更多

Bash小技巧(惯用法)

退出码判断(命令执行成功与否的判断)

在Bash脚本中,我们经常要先执行某个命令行,然后判断它是否执行成功,这时我们要对它的退出码进行判断。罗嗦一些的写法如下:

    if [ $? -eq 0 ]  
    then  
       echo "Success"  
    fi  
 

简洁的写法如下:

    [ $? -eq 0 ] && echo "Success"  

 

条件判断的简单写法

又如,判断是否有某个目录,如果没有就终止脚本执行,罗嗦一些的写法如下:

if [ ! -d "$DIR" ]; then
    exit 1
fi
 

简洁的写法如下:

[ -d "$DIR" ] || exit 1

 

查找字符串

好多人习惯上这样写:

cat /etc/passwd | grep root

其实下面的写法更好,不需要执行cat命令、不需要管道线:

grep root /etc/passwd

 

here document的写法

一般人都这样写:

if true; then
    cat >some.txt <<EOF
123
345
567
789
EOF
fi
 

这样写,最后那个EOF就要顶格写,破坏了程序应有的缩进格式,最好如下写法:

if true; then
	cat >some.txt <<-EOF
		123
		345
		567
		789
	EOF
fi
 

注意EOF前面的减号,数据前面都用制表符,不能用空格。

 

 

 

 

 

2
0
分享到:
评论

相关推荐

    bash-3.1-MSYS-1.0.11-snapshot.tar

    bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 ffmpeg 安装用包!

    bash-completion-2.1-6.el7.noarch.rpm

    在centos6或rhel6 操作系统安装bash-completion-2.1-6.el7.noarch.rpm后,重启即生效

    bash-completion-2.1-8.el7.noarch (1).rpm

    离线安装包,测试可用

    bash-completion-1.3-7.el6.noarch.rpm

    centos6的yum源里面没有bash-completion的包,需要单独下载安装。...1、rpm -ivh bash-completion-1.3-7.el6.noarch.rpm (如有依赖报错,请按照提示安装相关依赖) 2、退出当前命令行,重新连接,即可使用bash命令补全

    bash-completion-2.1-6.el7.noarch.rar

    标题中的“bash-completion-2.1-6.el7.noarch.rar”指的是一个用于Linux系统的命令行自动补全工具bash-completion的版本2.1,适用于CentOS 6和7,以及RHEL 6和7的环境。这个压缩包是以RAR格式封装的“bash-...

    解决ssh远程登陆linux显示-bash-4.1$的问题

    以上就是小编为大家带来的解决ssh远程登陆linux显示-bash-4.1$的问题全部内容了,希望大家多多支持软件开发网~ 您可能感兴趣的文章:浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释php $_SERVER windows系统与linux...

    修复bash漏洞的bash-4.4.tar.gz源码包

    #tar zxvf bash-4.4.tar.gz #cd bash-4.4 #./configure (如果centos7编译失败,请先安装#yum install gcc) #make #make install 添加环境变量 #echo‘ export PATH=/usr/local/bin:$PATH‘ &gt;&gt;/etc/profile #source...

    bash-handbook-zh-CN, 一种中文中文翻译.zip

    bash-handbook-zh-CN, 一种中文中文翻译 bash-handbook-zh-CN前言Shells与模式交互模式非交互模式返回值注释变量局部变量环境变量位置参数Shell扩展大括号扩展命令置换算数扩展单引号和双引号数组数

    bash-debuginfo-3.2-33.el5_11.4.x86_64

    标题"Bash-debuginfo-3.2-33.el5_11.4.x86_64"提及的是一个特定版本的Bash调试信息包,适用于Linux 5系统。这个包是为x86_64架构设计的,意味着它是为64位计算机系统编译的。"debuginfo"标签表明此包包含了用于调试...

    libvirt-bash-completion-5.0.0-1.el7.x86_64.rpm

    官方离线安装包,亲测可用

    GitBash和GitGui右键失效解决方法

    1.在shell目录右键-&gt;新建(项),然后重命名为 Git Bash Here,此时右键菜单会显示出“Git Bash Here”。 2.给gitbash 添加图片: 选中 Git Bash Here,右键新建(字符串值),并重命名为Icon,Icon的值设置为D:\...

    bash-vi-editing-mode-cheat-sheet

    bash-vi-editing-mode-cheat-sheet Readline VI Editing Mode Cheat Sheet Default Keyboard Shortcuts for Bash

    bash-4.4版本升级手册带安装包

    1. 首先,从可靠来源下载Bash 4.4的源代码包,这里提供的是`bash-4.4.tar.gz`。可以使用`wget`命令下载,例如: ``` wget http://example.com/bash-4.4.tar.gz ``` 2. 使用`tar`命令解压下载的文件: ``` tar ...

    bash-history-cheat-sheet

    `bash-history-cheat-sheet`提供了对Bash历史记录编辑功能的快速参考,特别是结合了Emacs和Vi编辑模式的键盘快捷键。 ### Bash历史记录基础 Bash历史记录默认存储在`~/.bash_history`文件中,每次启动新的Shell...

    Bash Reference Manual.pdf --- Bash手册

    1. Shell 语法:Bash 的语法类似于 C 语言,提供了多种控制结构和操作符。了解这些基本语法对于编写有效的脚本至关重要。 2. 引用:通过使用不同的引用方式,可以控制文本字符串的解析和输出。例如,单引号表示字符...

    Python库 | bzr_bash_completion-1.0.2-py2.5.egg

    Python库“bzr_bash_completion-1.0.2-py2.5.egg”是一个专为Bazaar(bzr)版本控制系统定制的bash自动补全脚本。Bazaar是分布式版本控制系统,类似于Git,用于跟踪文件和项目的变化。这个库的目的是提高Bazaar...

    PyPI 官网下载 | bzr_bash_completion-1.0.2-py2.4.egg

    标题中的“PyPI 官网下载 | bzr_bash_completion-1.0.2-py2.4.egg”指的是Python Package Index(PyPI)上的一款名为“bzr_bash_completion”的软件包,版本为1.0.2,适配Python 2.4。这个包的格式是EGG,是Python的...

    libvirt-bash-completion-4.5.0-36.el7_9.5.x86_64.rpm

    官方离线安装包,亲测可用

    Linux_Bash命令清单_bash-tips.zip

    Linux_Bash命令清单_bash-tips

    python-django-bash-completion-1.8.14-1.el7.noarch.rpm

    官方离线安装包,亲测可用

Global site tag (gtag.js) - Google Analytics