shell 脚本学习笔记

旧城等待, 2024-04-03 06:50 244阅读 0赞

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表示没有错误,其他任何值表明有错误)


  1. cat $outdata/FGAD0170.txt | fold -b20 > $outdata/FGAD0170.txt.bk

fold命令–>用于限制文件列宽

在这里插入图片描述


  1. perl -pe 's/¥n/¥r¥n' $outdata/FGAD0170.txt.bk > $outdata/LP6470.SYS001

Perl程序一行命令,可以替代grep+sed+awk

一行式选项

-e 表示后面接perl的一行式表达式;
-p 表示print操作,即对每一读入的行在经过表达式操作后都默认输出;


  1. sed -e '${s/$/¥r¥n/}' -i $outdata/LP6470.SYS001

sed -e 是可以在一行里执行多条命令
sed -i (-i参数直接修改文件内容)

  1. sed -e 's/wang/w/g;s/xu/x/g' user.txt
  2. # 对每行匹配到的第一个字符串进行替换
  3. sed -i 's/原字符串/新字符串/' ab.txt
  4. # 对全局匹配上的所有字符串进行替换
  5. 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 [参数] [原路径] [目标路径]

  1. scp local_file remote_ip:remote_file

从远处复制文件到本地目录

  1. scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)


发表评论

表情:
评论列表 (有 0 条评论,244人围观)

还没有评论,来说两句吧...

相关阅读