Shell脚本的基本知识点整理-2

/**************************************
*shell 基本使用方法
**************************************/
标准文件描述符
bash shell保留linux文件描述符中的前三个(0、1和2)。

        Linux标准文件描述符
文件描述符     缩写      描述
    0        STDIN    标准输入
    1        STDOUT   标准输出
    2        STDERR   标准错误

重定向错误信息

示例:
ls -al  badfile 2> test4
ls -al  test test2 test3 &> test4
    &> 是命令所有的输出都会重定向到同一位置。

临时和永久重定向

临时重定向
echo "this is a error message" >& 2
./test 2> test9
永久重定向
使用exec命令在shell执行期间重定向到某一个特定文件
 #!/bin/bash
    exec 1>testout
    exec 2>testout_error
    echo "this is a test for > "
    echo "this ia a std error test!"

脚本输入重定向

exec 0 < testfile

lsof 列出打开的文件描述符

使用

lsof -a -p && -d 0,1,2
lsof默认输出
列        描述
COMMAND   正在运行命令的前九个字符
PID       进程的PID
USER      进程属主登录名
FD        文件描述符以及访问类型 r读 w写 u读写
TYPE      文件类型 CHR 字符型 BLK块型 DIR目录 REG常规文件
DEVICE    设备的设备号
SIZE      文件大小
NODE      文件的本地节点
NAME       文件名

tee指令
teefile name
date | tee testfile
追加文件的:date | tee -a testfile
控制脚本
捕获脚本退出信号
示例

 #!/bin/bash
    trap "echo exit signal..." EXIT
    count=1
    while [ $count -le 5 ]
    do
        echo "Loop #$count"
        sleep 1
        count=$[ $count + 1 ]
    done

修改和移除捕获

#!/bin/bash
count=1
while [ $count -le 5 ] 
do
   echo "Loop #$count"
   sleep 1
   count=$[ $count + 1 ]
done
trap "echo 'I modified the trap!'" SIGINT
count=1
while [ $count -le 5 ]
do
   echo "Second Loop #$count"
   sleep 1
   count=$[ $count + 1 ] 
done

后台运行脚本
./test.sh &
Jobs 命令
jobs命令可以查看分配给shell的作业,jobs命令会显示两个停止和运行中的作业。以及他们的作业号和作业中的命令。
jobs命令擦书
参数 描述
-l 列出进程PID以及作业号
-n 只列出上次shell发出的通知后改变状态的作业
-p 只列出作业的PID
-r 只列出运行中的作业
-s 只列出已停止的作业

定时运行脚本
at命令格式如下:
at [-f filename] time
at -M -f test12.sh teatime
cron时间表
min hour dayofmonth month dayofweek command
使用示例:
cron 00 12 1 * * command
linux系统中包含指定的cron目录:
/etc/cron.* 目录中,只需要把需要执行的脚本文件放在这个目录中,系统会自动执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

给大佬递杯卡布奇诺

你们的鼓励就是我传作的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值