【shell】:
#! /bin/bash //shell脚本第一行以#!开头,指定脚本运行环境
#Display a line //以#开头的行是注释
echo "hello world!" //echo命令把其参数传递给标准输出,它在最后会自动加上一个换行符,每个代码段完后,后面没有分号
变量和运算符:
#! /bin/bash
log="monday" //shell中使用变量不需要事先声明,=两边不能有空格(赋值)
echo $log //shell碰到带有$的变量时会自动将其替换为变量的值
想输出$字符时,就要用到\$转义符号
shell提供了花括号{}来限定一个变量的开始和结束(紧跟变量输出字母后缀时)
(shell):
#! /bin/bash
word="big"
echo "\$word is ${word}er""
bash中的引号:
双引号:阻止shell对大多数特殊字符(例如#)进行解释。但$ ` "仍保持其特殊的含义
单引号:阻止shell对所有字符进行解释
倒引号:当用倒引号括起一个shell命令时,这个命令将会被执行,执行后的输出结果将作为这个表达式的值。倒引号中的特殊字符一般都被解释。
(shell):
#! /bin/bash
log=Saturday
echo "Today is $log" //双引号会对其中的$字符进行解释
echo 'Today is $log' //单引号不会对特殊字符进行解释
echo "Today is 'date'" //倒引号会运行其中的命令,并把命令输出作为最终结果
脚本执行命令和控制语句:
if语句(shell):
#!/bin/bash
echo "Enter password:"
read password //读密码,此行不能掉
if [ "$password" = "mypassword" ] //注意空格
then
echo "welcome!!"
fi //fi为if的结束标志
case语句:case用于在一系列模式中匹配某个变量的值
条件测试:
if判断的依据:if本身并不执行任何判断。它实际上接受一个程序名作为参数,然后执行这个程序,然后判断程序的返回值。其中test和[]可以对表达式进行测试。
test和[]可以对三类进行测试:字符串比较,文件测试,数字比较.
循环语句:
while(shell):
#! /bin/bash/
sum=0
number=1
while test $number -le 100 //-le是小于等于,test检测条件是否成立
do
sum=$[ $num + $number ]
let number=$number+1
done //结束符
echo "The summary is $sum"
until:直到until后面的条件为真才终止循环,while是后面的条件为真才执行循环。
(shell):
#! /bin/bash
sum=0
munber=1
until ! test $number -le 100
do
sum=$[ $sum + $number ]
let number=$number+1
done //结束符
echo "the summary is $sum"
for(shell):
for i in 1 2 3 4 5 6 7 8 9//或for i in `seq`, ``用于执行命令
do
echo $i //输出每个变量
done //结束符
(shell):
#! /bin/bash
count=0
for file in `ls`
do
if ! [ -d $file ] //-d用于判断一个文件是否是目录
then
let count=$count+1
fi
done
echo "There are $count files"