#!/bin/bashlog_dir=/var/logroot_uid=0if ["$uid -ne "$root_uid"]then echo "must be root run this script." exit 1 fi cd $ log_dir || { echo "cannot change to necessary directory" exit 1 } cat /dev/null>message && { echo "logs cleaned up." exit 0内存不能为read } echo "logs cleaned fail." exit 1
[root@web01 ~]# echlol段位会掉吗o $shell/bin/bash[root@web01 ~]# ll /bin/shlrwxrwxrwx. 1 root root 4 oct 10 2018 /bin/sh -> bash
解释器默认为bash,如果脚本中不标明解释器,默认调用bash。
批量注释方法1:ctrl+shift+v,光标向下移动,shitf+a,第一行前#,esc。
批量注释方法2:将要注释的内容写在下面符号内::<<eof xxx eof.冒号表示什么的都不做。
批量注释方法3:cat >/d超级说服力ev/null<<eof xxx eof
方法1:bash,sh
方法2:/path/script-name 或者./script-name
方法3:source script-name 或者.script-name
方法4:sh<script-name 或者 cat scripts-name | sh
实例:
[root@web01 scripts01]# bash test.sh i am oldboy teacher.[root@web01 scripts01]# sh test.sh i am oldboy teacher.[root@web01 scripts01]# ./test.sh-bash: ./test.sh: permission denied[root@web01 scripts01]# /rver/scripts01/test.sh-bash: /rver/scripts01/test.sh: permission denied[root@web01 scripts01]# ls -l test.sh -rw-r--r-- 1 root root 127 jan 18 23:12 test.sh[root@web01 scripts01]# chmod +x test.sh [root@web01 scripts01]# /rver/scripts01/test.shi am oldboy teacher.[root@web01 scripts01]# sh < test.sh i am oldboy teacher.[root@web01 scripts01]# cat test.sh | shi am oldboy teacher.[root@web01 scripts01]#
实例:
[root@web01 scripts01]# chkconfig --list | grep 3:on | awk '{print "chkconfig", $1,"off"}' chkconfig crond offchkconfig network offchkconfig rsyslog offchkconfig sshd off[root@web01 scripts01]# chkconfig --list | grep 3:on | awk '{print "chkconfig", $1,"off"}' | bash[root@web01 scripts01]# chkconfig --list | grep 3:on
方法3:source script-name 或者.script-name
[root@web01 scripts01]# cat test1.sh ur=`whoami`[root@web01 scripts01]# sh test1.sh [root@web01 scripts01]# echo $ur[root@web01 scripts01]# # sh 相当于在当前shell下新开启一个子shell,所以echo $ur,在当前开启shell下执行。[root@web01 scripts01]# source test1.sh [root@web01 scripts01]# echo $urroot[root@web01 scripts01]##source 相当于在当前shell下执行。父shell子shell使用source 和.来执行脚本,相当于在一个shell执行脚本,可以相互调用。使用bash或者sh执行脚本,开启一个新的shell,或者开启子shell。[root@web01 scripts01]# vim 1.shsh test1.shecho $ur[root@web01 scripts01]# sh 1.sh[root@web01 scripts01常青藤盟校]# cat 1.shsh test1.shecho $ur[root@web01 scripts01]# cat 1.sh. ./test1.shecho $ur[root@web01 scripts01]# sh 1.shroot使用source 和.可以相互调用父shell和子shell。
父shell脚本-外部命令-子脚本-父shell
父shell和子shell之间不能相互调用:如果希望相互调用,使用source和点.来执行。
shell脚本编程规范和习惯:
①开头加解释器:#!/bin/bash
②附带作者及版权信息:oldboy at dddd
③脚本扩展名:.sh
④脚本存放固定位置:/rver/scripts
⑤脚本中不使用中文。
⑥成对的符号一次书写完成。中括号,两边需空格
⑦循环格式一次性输入完成。
转自:/d/file/titlepic/12791290.html
本文发布于:2023-04-03 22:11:05,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/a07d831c73bc9d5a05d584c8fad45a81.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:shell脚本介绍解释器,执行方法,执行过程.doc
本文 PDF 下载地址:shell脚本介绍解释器,执行方法,执行过程.pdf
留言与评论(共有 0 条评论) |