#!/bin/bash
# 使用-n参数,并在最后加上一个空格,可以使得不换行
echo -n "hello world "
echo "hello world"
# $后面的数字会当做引用一个变量
echo "the cost is $15"
echo "the cost is \$15"
# 在变量、等号和值之间不能出现空格,shell脚本会自动决定变量值的类型
var1=10
var2=-57
var3=testiog
var4="still more testing"
#
value1=10
value2=$value1
echo The result value is $value2
echo ------------有两种方法可以将命令输出赋给变量\(\)和\`\`-------------------------
testing=$(date)
testing2=`date`
echo $testing
echo $testing2
echo The date and time are: $testing
echo -------------------------------
today=`date +%y%m%d`
echo $today # echo 191025
#ls /usr/bin -al > log.$today
#date>>test6
echo --------------在shell中执行数学运算,使用中括号
var1=10
var2=20
echo $[$var1 + $var2]
# echo的目的本身是为了产生一个输出,这个输出作为管道符后面命令的输入
var3=`echo "scale=4;3.44 / 5" | bc`
echo $var3
echo ---------------将选项和表达式放在脚本的不同行
var1=10.45
var2=43.67
var3=33.2
var4=71
var5=$(bc << EOF
scale = 4
a1 = $var1 * $var2
a2 = $var3 * $var4
a1 + b1 + 1
EOF
)
echo the final answer for this mess is $var5
echo ---------------使用结构化命令
# 使用if-then语句
# if command
# then
# command
# 如果if后面的命令执行成功,那么该命令的退出状态码就是0,位于then部分的命令
# 就会被执行。如果该命令的退出状态吗是其他值,then部分的命令就不会执行,fi
# 表示if-then语句到此结束
# if command; then # 这样看起来更像其他编程语言中的if-then语句
# commands
# fi
# -------------if-then-else语句
# if command; then
# commands
# else
# commands
# fi
# if[ condition ]
# if(( $val1 ** 2 > 90 )) 双括号允许高级的运算,val++,val--,++val,--val,!,~,**,<<,>>,&,|,&&,||
# if[[ ]] 双方括号里的expression使用了test命令里的标准字符串比较。但它提供了test命令未提供的另一个特性---模式匹配 如if [[ $USER == r* ]]
shell脚本示例
最新推荐文章于 2020-11-09 10:44:54 发布