乘法运算
- 计算num1 * num2的值,控制台输出,返回0代表执行成功
#!/bin/bash
read -p "first number: " num1
read -p "second number: " num2
total=$(($num1*$num2))
echo -e "\nThe result of $num1 * $num2 = $total"
exit 0
read -p "提示信息 " 变量名
将用户输入的信息赋予变量名
四则运算格式: $((运算内容))
echo -e
-e代表 对后面的命令 \n进行转换
test 语法
#!/bin/bash
echo -e "please input a filename,I will check it isn‘t exits ,type and permission \n: " fileName
read -p "input a filename: " filename
echo "输入的文件名称是: " $filename
#验证文件名是否为空字符串
test -z $filename&&echo "you must input a filename"&& exit 1
#判断当前目录下文件是否存在
test ! -e $filename&&echo "the file is not exist"&& exit 2
#该文件类型是文件
test -f $filename&&filetype="file"
#获取文件夹
test -d $filename&&filetype="dir"
#验证文件的权限
test -d $filename&&per="d"
test -r $filename&&per="r"
test -w $filename&&per="w"
echo "the filename: $filename is a $filetype"
echo -e "\n $filename permission is : " $per
exit 0
判断符号[](基本和test相同)
- [ ] 脚本范例(注意[]和脚本之间保留空格)
- == 和 != 用于比较字符串
- 整数比较只能使用 -eq, -gt,ge,le 这种形式
- [ ] 中的逻辑与和逻辑或使用 -a 和 -o表示
- &&、 || 、< 和 > 、操作符出现在 [ ] 中会报错-
#!/bin/bash
#显示用户输入的是yes or no
read -p "请输入Y/N: " yn
[ $yn == "Y" -o $yn == "y" ]&&echo "choice yes"&&exit 0
[ $yn == "N" -o $yn == "n" ]&&echo "choice no"&&exit 1
- 注意: [ 与 ] 之间保留空格, == 之间两端保留空格
shell script参数传递
- $0 当前脚本本身
- $1 第一个参数
- $# 参数的数量
- $@ 参数的字符串拼接
- $* 全部参数
#!/bin/bash
echo "script name:$0"
echo "参数的个数 : $#"
[ $# -lt 2 ]&& echo "参数个数不能小于2"&&exit 1
echo "first number : $1"
echo "second number : $2"
echo "all agrs $*"
echo "$@"
- 顺便记录下复制的快捷键, ecs模式下, 光标当前行 2y 代表复制以下两行, o 跳到当前行的末尾, p 粘贴
参数传递偏移
类似代码的指针偏移,shift 后可以跟多个,表示从头移除多少个参数
#!/bin/bash
echo "args number : $#"
echo "args are: $@"
echo "args are: $*"
shift 1
echo "args number : $#"
echo "args are: $@"
echo "args are: $*"