example
每次运行一个命令会返回一个 $? 变量,如果执行成功 $? = 0 ,不成则为 非0
运行脚本bash ping.sh
指定解释器bash 执行文件 ping.shwhich bash
返回 bash 的目录地址which python
返回 python 的目录地址
ping c1 www.baidu.com && echo "OK." || echo "not OK."
执行成功 OK 执行失败 not OK
ping c1 www.baidu.com &>/dev/null && echo "OK." || echo "not OK."
不输出ping相关的信息
shebang(#!) 仅第一行生效
例如,以指令#!/bin/sh开头的文件,在不指定解释器执行时会实际调用 /bin/sh 程序
组合实例
#!/bin/bash
echo "Hello World !"
# 命名使用变量
your_name="qinjx"
echo $your_name
echo ${your_name}
# 设置变量只读
myUrl="https://www.google.com"
readonly myUrl
# 删除变量
unset myUrl
#
for file in `ls /etc`
for file in $(ls /etc)
for skill in Ada Coffe Action Java; do
echo "I am good at ${skill}Script"
done
# 字符串拼接
your_name="runoob"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1
# 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2 $greeting_3
计算
#!/bin/bash
a=10
b=20
val=`expr $a + $b`
echo "a + b : $val"
val=`expr $a - $b`
echo "a - b : $val"
val=`expr $a \* $b`
echo "a * b : $val"
val=`expr $b / $a`
echo "b / a : $val"
val=`expr $b % $a`
echo "b % a : $val"
if [ $a == $b ]
then
echo "a 等于 b"
fi
if [ $a != $b ]
then
echo "a 不等于 b"
fi