看懂 shell 脚本 (2) 、shell脚本中的include文件

看懂 shell 脚本 (2)

特殊字符常识可以参考博客

  • “…” 双引号可以将里面的内容作为整体,比方: “$@” 这样就等价于 $*。
  • ${…} 为养成习惯所有都这样写吧,在shell中是可以直接 $name 的,其实它等价于 ${name}。
  • if 语句不能直接接[] 会出现找不到if的提示,得加个空格:

在这里插入图片描述

  • shell中很多都用到命令,若是要得到命令输出的结果,例如 cat A.txt 或者 ls /temp ,建议就使用变量定义它们,命令的内容使用 反引号 ``括起来, 然后在使用 “${…}” 这样就可以获得命令执行后结果的字符串,通常会根据这些字符串进行判断,走哪个逻辑,下面是例子:
#!/bin/bash
A=`ls ./mtk7561 -l | grep "version" | awk -F " " '{print $9}'`
echo "${A}"
if [ "${A}" = "version" ]; then
	echo "find version!"
else
	echo "not match version!"
fi

例子中A中命令的指示是 列出 ./mtk7561 目录里的信息 ,作为grep 的输入 匹配字符 “version” ,再作为 awk 的输入 ,以空格作为分隔符,打印出第9个字段
执行结果:
在这里插入图片描述

当不知到命令执行的内容是什么的时候,就一步一步输入,开始时我是不知道 | 作用是管道的作用,简单的说就是将前一项的输出结果作为后一项的输入,下面是我的演示范例:

在这里插入图片描述

  • ‘…’ 是不管里面有任何特殊符号,都当整个为字符串处理,“…” 就会碰到一些特殊字符如 \ $ ` 就不会当他们是正常字符处理,若想输出他们就必须得加个转义字符\
  • 转义字符\ 和 目录字符是 /区分开。
  • 在shell中若一行写不下 可以使用 \ 连接下一语句,此时编译的时候是将他们作为同一行处理,注意 \ 前需要加空格否则就与下面的混淆了。
  • ; shell中使用这个来作为命令结束符。

  • cat << EOF … … … EOF 标准输出内容 (EOF没多大意义可以是任意的三个字符以内,意思是以EOF作为结束符输出内容),eg:
#!/bin/bash
cat << EOF
   个人信息
···············
1)姓名
2)性别
3)年龄
···············
EOF

执行结果:

在这里插入图片描述

  • 配合 case “xx” in “xxx”) …;; esac 用法举例:
#!/bin/bash
cat << EOF
   个人信息
···············
1)姓名
2)性别
3)年龄
4) 退出
···············
EOF

while :
do
	read -p "请输入数字:" a
	case ${a} in
	"1" )
		echo "xxno"
			;;
	"2" )
		echo "MAN"
			;;
	"3" )
		echo "20"
			;;
	"4" )
		echo "quit"; break
			;;
	esac
done

执行结果:

在这里插入图片描述


shell脚本中的include文件:

可以参考博客

. 路径加文件名
或者
source 路径加文件名

DEMO:

#!/bin/sh

PROFILE_CFG=/tmp/test/pro.cfg
if [ -f ${PROFILE_CFG} ] ; then
	chmod 777 ${PROFILE_CFG}
	source ${PROFILE_CFG}
fi
if [ "${xxno}" = "ss" ] ;then
	echo -e "\033[;7;32mHello\033[0m"
else
	echo -e "\033[;7;31mBeyBey\033[0m"
fi

运行效果:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值