------------------------------ 以下是fun.sh文件 -------------------------------------
#!/bin/bash
sed -i 's/\r//' $0 #替换本文件的\r为空,因为我是在window下编写linux上执行的
function max(){
if [ $# -ne 2 ];then
echo "必须两个参数,调用方法:max p1 p2"
else
if [ $1 -gt $2 ];then
return $1
else
return $2
fi
fi
}
------------------------------ 以下是main.sh文件 -------------------------------------
#!/bin/bash
sed -i 's/\r//' $0 #替换本文件的\r为空,转window换行符\n\r为linux换行符\n
# $0:第0个参数即当前程序名称,$$当前进程号
# $1:第1个参数,$2...以此类推
# $@、$*:所有的参数列表
# $#:参数个数
# ${!#}:最后一个参数
# $( pwd ):调用pwd命令,或者使用`pwd`
# read -p "input" name :使用name接受输入
# ()由子shell完成,{}由当前shell完成
# ${str/old/new}:new替换第一个old,${str//old/new}:new替换所有old
# test -e file等价[ -e file]都是判断file是否存在,再使用$?查询上次执行结果
# declare -i s:强制把变量s当作int类型运算
# 文件测试:-e存在,-d目录,-f文件,-r可读,-w可写,-x可执行,
# 文件测试:-L符号连接,-c字符设备,-b块设备,-s文件非空
# 逻辑条件:-a and,-o or,!取反
# 数值判断:-eq,-ne,-gt,-ge,-le,-lt
# 字符串判断:=相等,!=不等,-z空串,-n非空
# 控制语句:if [ ];then else elif fi 或 for(());do done 或 for i in list;do done
# 控制语句:while [ ];do done 或 until [];do done |
# 函数调用:函数名 参数1 参数2...,对应的接收参数$0,$1,$2...,return结果使用$?查询
# source导入其他shell脚本文件,source fun.sh导入fun.sh脚本文件
echo "last params is : ${!#}"
source fun.sh #导入fun.sh脚本
max 100 50 #调用fun.sh脚本的max方法
en=$? #使用$?查询上一次的执行结果,即调用max方法的结果
echo "max=$en"
---最后命令行执行:bash main.sh 即可测试
---遇到Window换行符报错时也可以手动 sed -i 's/\r//' bash main.sh 处理掉window换行符再执行bash main.sh
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。