标签:提示信息 字符串 please linux hello
1. Linux 脚本编写基础
程序必须以下面的行开始(必须放在文件的第一行):
#!/b#对变量赋值:
对变量的赋值
a="hello world"
# 输出变量a的内容:
echo $a
num=2
echo "this is the $numpp"
仅仅打印"this is the "
num=2
echo "this is the ${num}nd"
这将打印: this is the 2ndpp
1、常用命令
read命令
作用: 接收键盘输入
格式:read 选项 变量名
选项
-p 输出提示信息
-t 指定等待时间(秒),默认会一直等待用户输入
-n 指定接收的字符数
-s 隐藏输入的数据
read -p "please input your name" -t 10 name 将用户输入的值赋予name
echo命令
echo 字符串 输出字符串或变量的值,默认输出后会换行,且不会识别特殊字符
echo -n 字符串 输出字符串或变量的值,不换行
echo -e 字符串 输出字符串或变量的值,在遇到 特殊字符时需转换,比如\n代表换行
符号
‘ ‘ 单引号 在单引号中所有特殊符号均无特殊含义
" " 双引号 在双引号中,除“$”“\”外其他特殊符号都无特殊含义
$( ) 括号中使用系统命令
$ 调用变量的值
\ 反斜杠 转义符,转义符的特殊字符无特殊含义
$# 代表命令行中参数的个数
$* 代表命令行中所有参数,把所有参数看成一个整体
$@ 代表命令行中所有参数,把每个参数区别对待
$? 代表最后一次执行的命令的返回状态,返回变量值为0代表执行成功,否则不成功
条件判断
使用[ ]可以对条件进行测试,使用[[ ]]可以对多个条件进行判断
1.按文件类型判断
-e 判断文件是否存在
-d 判断文件是否存在,并且是否为目录
-f 判断文件是否存在,并且是否为普通文件
[-e /root/install.log]&&echo “yes”|| echo "no" 如果存在文件则输出yes,否则输出
2整数比较
整数1 -eq 整数2 判断是否相等
-ne 判断是否不等
-gt 判断整数1是否大于整数2
-lt 判断整数1是否小于整数2
-ge 判断整数1是否大于等于整数2
-le 判断整数1是否小于等于整数2
3字符串比较
-z 判断字符串是否为空
-n 判断字符串是否不为空
字符串1 == 字符串2 判断字符串是否相等
字符串1 != 字符串2 判断字符串是否不等
a="" [-z "$a"]&&echo "yes"||echo "no" b=1 c=2 [-z "$b"=="$c"]&&echo "yes"||echo "no"
if语句
if [ 条件判断式 ];
then 程序
fi
判断当前用户是否为root
#! /bin/bash test=$(env|grep USER |cut -d "=" -f 2) 给test赋值 if [ "$test" = "root" ]; 比较语句 then echo "current user is root" fi if双分支语句 if [ 条件判断式 ] then 程序1 else 程序2 fi 判断输入是否是一个目录 #!/bin/bashread -t 30 -p "please input derectory:" dir 输入一个目录名称 if [ -d "$dir" ]; 比较 then echo "input is a directory" else echo "input isnot a directory" fi 多分支if语句 [ 条件1 ]; 程序 [ 条件2 ]; 程序 ..... 程序fi
for语句
for 变量 in 值1 值2 值3.....
do 程序
done
#
s=0;
for((i=1;i<=100;i=i+1)) 从1加到100
do
s=$(($s+$i))
done
echo "the sum is:$s"
while 语句
while [ 条件判断式 ]
do
程序
done
#从1加到100
i=1 s=0
while [ $i -le 100 ]
do s=$(($s+$i)) i=$(($i+1))
done
echo "the sum is:$s"
标签:提示信息 字符串 please linux hello
原文地址:http://ybzbfs.blog.51cto.com/12765816/1940842