Shell 脚本编程 是你在 Linux 下学习或练习编程的最简单的方式。尤其对 系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能。 -- Aaron Kili
本文导航
-1、 脚本中多写注释 …… 08%
-2、 当运行失败时使脚本退出 …… 15%
-3、 当 Bash 用未声明变量时使脚本退出 …… 21%
-4、 使用双引号来引用变量 …… 26%
-5、 在脚本中使用函数 …… 41%
-6、 字符串比较时用 = 而不是 == …… 49%
-7、 用 $(command) 而不是老旧的 `command` 来做代换 …… 55%
-8、 用 readonly 来声明静态变量 …… 65%
-9、 环境变量用大写字母命名,而自定义变量用小写 …… 69%
-10、 总是对长脚本进行调试 …… 76%
编译自: https://www.tecmint.com/useful-tips-for-writing-bash-scripts-in-linux/
作者: Aaron Kili
译者: ch-cn
# TecMint 是浏览各类 Linux 文章的最佳站点
# 如果命令运行失败让脚本退出执行
set -o errexit
# 或
set -e
# 若有用未设置的变量即让脚本退出执行
set -o nounset
# 或
set -u
#!/bin/bash
# 若命令失败让脚本退出
set -o errexit
# 若未设置的变量被使用让脚本退出
set -o nounset
echo "Names without double quotes"
echo
names="Tecmint FOSSMint Linusay"
for name in $names; do
echo "$name"
done
echo
echo "Names with double quotes"
echo
for name in "$names"; do
echo "$name"
done
exit 0
$ ./names.sh
function check_root(){
command1;
command2;
}
# 或
check_root(){
command1;
command2;
}
check_root(){ command1; command2; }
value1=”tecmint.com”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]
user=`echo “$UID”`
user=$(echo “$UID”)
readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”
# 定义自定义变量用小写,而环境变量用大写
nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”
perl “$nikto_file” -h “$1”
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) | Powered by Discuz! X3 |