shell 脚本学习总结:
文件表达式
- -e filename 如果 filename存在,则为真
- -s file exists and has a size greater than zero. 判断文件是否为空
- -d filename 如果 filename为目录,则为真
- -f filename 如果 filename为常规文件,则为真
cp :-p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
export 功能说明:设置或显示环境变量。
语 法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。
参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
例:export data bin CBLLSLIB 同时声明多个环境变量
RRC=$?
最后运行的命令的结束代码(返回值)即执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
cat $outdata/FGAD0170.txt | fold -b20 > $outdata/FGAD0170.txt.bk
fold命令–>用于限制文件列宽
perl -pe 's/¥n/¥r¥n' $outdata/FGAD0170.txt.bk > $outdata/LP6470.SYS001
Perl程序一行命令,可以替代grep+sed+awk
一行式选项
-e 表示后面接perl的一行式表达式;
-p 表示print操作,即对每一读入的行在经过表达式操作后都默认输出;
sed -e '${s/$/¥r¥n/}' -i $outdata/LP6470.SYS001
sed -e 是可以在一行里执行多条命令
sed -i (-i参数直接修改文件内容
)
sed -e 's/wang/w/g;s/xu/x/g' user.txt
# 对每行匹配到的第一个字符串进行替换
sed -i 's/原字符串/新字符串/' ab.txt
# 对全局匹配上的所有字符串进行替换
sed -i 's/原字符串/新字符串/g' ab.txt
s代表search,g是尽可能多的匹配,有多少替换多少,因而意思是将user.text文本中的 wang 替换成w,xu 替换成x.
rm -f
其中的,f参数 (f --force ) 忽略不存在的文件,不显示任何信息
不会提示确认信息。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
scp [参数] [原路径] [目标路径]
scp local_file remote_ip:remote_file
从远处复制文件到本地目录
scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)