shell 命令中变量与从定向的运用...
发布时间:2020-12-15 23:06:35 所属栏目:安全 来源:网络整理
导读:变量和重定向 变量和重定向应用到我们的 linux shell 脚本当中,在shell脚本当中起到关键性的作用,如果没有变量和重定向的应用我们写起脚本来就是非常困难的一件事:在我们的脚本当中无时无刻都会有他们的身影,熟练他们俩的使用方法,可使我们写脚本的效率
变量和重定向
变量和重定向应用到我们的 linux shell 脚本当中,在shell脚本当中起到关键性的作用,如果没有变量和重定向的应用我们写起脚本来就是非常困难的一件事:在我们的脚本当中无时无刻都会有他们的身影,熟练他们俩的使用方法,可使我们写脚本的效率以及效果达到事半功倍。 变量
$0 脚本名 $* 所有的参数 [email?protected] 所有的参数 $# 参数的个数 $$ 当前进程的 PID $? 上一个命令的返回值 0表示成功 $! 上一个后台进程的PID bash 的预置变量理解 [[email?protected] /test]# vim echo.sh #!/bin/bash echo "脚本名 $0" echo "您输入所有的参数 $*" echo "您输入所有的参数 [email?protected]" echo "您输入参数的个数 $#" echo "您当前进程PID $$" echo "上一个命令的返回值 $?" echo "上一个后台进程PID $!" 变量输出结果 [[email?protected] /test]# ./echo.sh who #当前位置下执行脚本 "echo.sh",支配的命令是 “who” 脚本名 ./echo.sh 您输入所有的参数 who 您输入所有的参数 who 您输入参数的个数 1 您当前进程PID 63426 上一个命令的返回值 0 上一个后台进程PID
# -ne -eq -gt -lt -ge -le # 不等 相等 大于 小于 大于等于 小于等于 重定向
write: 给某个在线的终端/用户 发信息 [[email?protected] /test]# write rosen1 #写给rosen1用户,如果换成zan3那就是单独发给zan3其他用户不会受影响 hello hellox2 注意:针对的是,指定当前用户并且有在线登陆,或者终端;发送信息才会收到 [[email?protected] ~]$ Message from [email?protected] on pts/0 at 17:58 ... hello hellox2 wall: 广播信息给所有 在线终端 [[email?protected] /test]# vim abc #在文件abc里面写入要广播的内容 [[email?protected] /test]# wall < /test/abc #把abc文件里面的内容进行广播 [[email?protected] /test]# Broadcast message from [email?protected] (Sat Aug xx xx:05:54 2018): hello I am a radio wall 注意:广播针对的是所有用户以及终端。把文件写成脚本运用重复循环加上 “sleep” 睡眠可以无限循环广播,不过这样做实用性不大,不建议使用,看需求决定。
重写配置文件 [[email?protected] /test]# vim abcd.sh #写成脚本的形式 #!/bin/bash cat >/test/abc <<EOF hello hellix2 EOF [[email?protected] /test]# [[email?protected] /test]# chmod u+x abcd #加上执行权限方可执行 [[email?protected] /test]# ./abcd.sh #执行脚本abcd.sh [[email?protected] /test]# cat abc #查看abc里面的内容 hello hellix2 注意:重写配置文件多应用于网卡配置信息,他会把文件给清空之后在进行把内容写入。
[[email?protected] /test]# cat abc >> abcde #把文件 abc 里面的内容追加到文件 abcd 中 [[email?protected] /test]# cat abcde #查看文件 abcd 就会发现新加的内容出现在原有文件内容的下方 hello hellix2 hello hellix2
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |