标签:output 返回 文件 file shel world learning function %s
#!/usr/bin/env bash
# Date: 2018-05-28
# Description: shell script learning notes
# 变量赋值使用 $(data)
# 对变量进行引用或字符串组合时,使用 ${ } 将变量扩含起来
# 处理字符串,加双引号 " "
# script learning notes
function note1()
{
# 脚本中执行或引入库函数
. ./filename
# 返回脚本所在目录
cd `dirname $0`
}
function note2()
{
# 0 stdin # 标准输入
# 1 stdout # 标准输出
# 2 stderr # 标准错误输出
./filename 1>output 2>error
2>&1 # 标准错误重新定向到标准输出
./filename >/dev/null 2>&1 # 输出定向到黑洞设备,不显示输出
}
# comparison operator
function comparison_operator()
{
# 文件比较运算符
[ -e filename ] # filename存在,则为真
[ -d filename ] # filename为目录,则为真
[ -f filename ] # filename为文件,则为真
[ -L filename ] # filename为符号链接,则为真
[ -r filename ] # filename可读,则为真
[ -w filename ] # filename可写,则为真
[ -x filename ] # filename可执行,则为真
[ filename1 -nt filename2 ] # filename1比filename2新,则为真
[ filename1 -ot filename2 ] # filename1比filename2旧,则为真
# 字符串比较运算符
[ -z string ] # string长度为零,则为真
[ -n string ] # string长度为非零,则为真
[ "str1" = "str2" ] # 字符串是否相同
[ "str1" != "str2" ] # 字符串是否不同
# 算术比较运算符
-eq # 等于
-ne # 不等于
-lt # 小于
-le # 小于或等于
-gt # 大于
-ge # 大于或等于
}
# positional paramter
function positional_parameter()
{
$# # 表示位置参数的数量
$* # 表示所有位置参数的内容 "a b c"
$@ # 表示所有位置参数 "a" "b" "c"
$? # 表示命令执行后返回的状态,成功返回0; 不成功,返回非0
$$ # 表示当前进程的进程号
$! # 表示后台运行的最后一个进程号
$0 # 表示当前进程名
$n # (n为1-9)就是位置变量
}
# write log to file
function log()
{
echo "[$(date +'%Y-%m-%d %H:%M:%S')] $@" >> log.log
}
main()
{
log "hell world"
}
main $@
标签:output 返回 文件 file shel world learning function %s
原文地址:https://www.cnblogs.com/rustling/p/9795437.html