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前面的减号,数据前面都用制表符,不能用空格。
分享到:
相关推荐
bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 ffmpeg 安装用包!
在centos6或rhel6 操作系统安装bash-completion-2.1-6.el7.noarch.rpm后,重启即生效
离线安装包,测试可用
命令补全 Centos6/7或Rhel6/7 安装 bash-completion-2.1-6.el7.noarch.rpm 后重启即生效
60-Linux-Bash-Terminal-Keyboard-Shortcuts-1.pdf
以上就是小编为大家带来的解决ssh远程登陆linux显示-bash-4.1$的问题全部内容了,希望大家多多支持软件开发网~ 您可能感兴趣的文章:浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释php $_SERVER windows系统与linux...
bash-handbook-zh-CN, 一种中文中文翻译 bash-handbook-zh-CN前言Shells与模式交互模式非交互模式返回值注释变量局部变量环境变量位置参数Shell扩展大括号扩展命令置换算数扩展单引号和双引号数组数
Bash-Terminal-Keyboard-Shortcuts-for-Navigation.pdf
Bash-Terminal-Keyboard-Shortcuts-for-History.pdf
Bash-Terminal-Keyboard-Shortcuts-for-Editing.pdf
Bash-Terminal-Keyboard-Shortcuts-for-Information.pdf
#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‘ >>/etc/profile #source...
Bash-Terminal-Keyboard-Shortcuts-for-Control-Process.pdf
bash-vi-editing-mode-cheat-sheet Readline VI Editing Mode Cheat Sheet Default Keyboard Shortcuts for Bash
bash-history-cheat-sheet Emacs and Vi history editing keyboard shortcuts:
centos6的yum源里面没有bash-completion的包,需要单独下载安装。...1、rpm -ivh bash-completion-1.3-7.el6.noarch.rpm (如有依赖报错,请按照提示安装相关依赖) 2、退出当前命令行,重新连接,即可使用bash命令补全
官方离线安装包,亲测可用
在线尝试: : 用法建立: git clone https://github.com/daniel-sc/bash-shell-to-bat-converter.gitcd bash-shell-to-bat-converternpm installnpm run tsc 用法: node lib/cli.js FILE_TO_CONVERT.sh 这将创建...
修改redhat 7 bash远程执行任意代码漏洞
官方离线安装包,亲测可用