shell常用指令

1. set指令

(1)set -e

每个脚本都应该在文件开头加上set -e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。

这样的好处是防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉。如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同。

(2)set -x

用于脚本调试,在liunx脚本中可用set -x就可有详细的日志输出.免的老是要echo了

2. if

(1) if [-d filename]

-d filename 如果 filename为目录,则为真

(2) if [ $? -eq 0 ]

$ ? 是 上 一 个 程 序 执 行 是 否 成 功 的 标 志 , 如 果 执 行 成 功 则 ? 是上一个程序执行是否成功的标志,如果执行成功则 ?? 为0,否则 不为0

3. 比较运算符

在这里插入图片描述

4. shell的"="前后不能有空格

5. 逐行读取文件

逐行读取a.txt,将每一行的内容赋给rows,然后在b.txt中找到rows所在行并将这一行打印出来,放到c.txt中

cat a.txt | while read rows; do my_case=`grep $rows b.txt`; echo $my_case; done > c.txt

这里有个问题,就是直接在命令行使用上述命令是可以实现的,但是如果写在.sh文件里面再运行的话就实现不了了。

6. 取文件的指定几列

 awk -F '\t' '{print $11"\t"$12"\t"$13"\t"$10}' file1.txt > file2.txt

取出file1.txt中的第11,12,13和14列,放入file2.txt中,分隔符为’\t’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

comli_cn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值