Shell 简介
Shell 是运维和系统管理员操作Linux 系统的首选,简单说,它是一个命令解释器.
命令行相关: 行首“$” 或 “#” - 命令行提示符
行中 ## - 视为注释开始
注意: 命令行是区分大小写的!
使用命令行补全(Tab) 和通配符可以提高输入效率
通配符共有3个: “*”,“?”,“[]”
** - 用于匹配文件名中任意长度的字符串;
? - 只匹配一个字符;
[] - 用于匹配所有出现在方括号内的字符。可以使用短线“-”来指定字符集范围。如:ls text[1-3] 或 ls test[a-z]
Linux 下环境下有几种不同Shell ,常用的有 BASH 、TCSH Shell和 Z-Shell 等.BASH 是默认安装和使用的Shell。
编译环境: Ubuntu14.04
vim first.sh
例子1:
#1/bin/bash
echo "Hello world"
ls -l
看出没有可执行
改一下权限:
chmod +x first.sh
*
例子2:
#1/bin/bash
echo "Hello world"
weifc="weifc12345"
echo $weifc
结果: Hello world
weifc12345
例子3:
#1/bin/bash
echo "Hello world"
weifc="weifc12345"
echo $weifc
for file in $(ls /home/weifc/); do
echo "${file}"
done
运行结果:
例子4:
1加到100
#1bin/bash
sum=0
for i in {1..100}; do
let sum+=i
done
echo $sum
例子5:
检测局域网内ip那一些是启动的, 那一些是关闭的
可以用ping来检测是否关闭, 这样是可用在用的
[ $? ] 获取上一条命令有没有成功, 如果成功了返回零
#1/bin/bash
for i in {1..254}; do
ping -c 2 -i 0.5 192.168.255.$i
if [ $? -eq 0 ]; then
echo "192.168.255.$i is up"
else
echo "192.168.255.$i is down"
fi
done
运行结果:
信息有杂, 这里修改一下.
#1/bin/bash
for i in {1..254}; do
ping -c 2 -i 0.5 192.168.255.$i &>/dev/null
if [ $? -eq 0 ]; then
echo "192.168.255.$i is up"
else
echo "192.168.255.$i is down"
fi
done
&>/dev/null
放到别的地方, 不在屏幕上显示
运行结果:
哦哦哦, 这里报错了, 是因为(少了一个空格):
if [ $? -eq 0]; then //这是错的
if [ $? -eq 0 ]; then //这是对的
最终结果: