大佬教程收集整理的这篇文章主要介绍了一步步理解Shell编程之函数用法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
function 函数名 () { 指令... return -n } function 函数名 { 指令... return -n } 函数名 () { 指令... return -n }提示:在以上的函数语法中,前面的funcation 表示声明一个函数!!! 可以不写 return -n 是指退出函数@H_616_5@ @H_618_1@
function fj () { echo "我是风姐!" } function zhangsan () { echo "我是张三!" } fj zhangsan@H_618_1@
cat >>/etc/init.d/functions<< EOF function zhangsan () { echo "我就是张三" } EOF以上代码什么意思:我们可以看到第一行是cat >> /etc/....这个路径 我们完全可以理解为,把下面的内容 导入到/etc/init.d/functions这个文件中; 那么这个文件是Linux系统内置的脚本函数库@H_616_5@ @H_618_1@
#!/bin/bash if [ -f /etc/init.d/functions ] then . /etc/init.d/functions fi zhangsan解释:if 如果@H_616_5@/etc/init.d/functions@H_616_5@是一个普通文件,那么我们执行@H_616_5@. /etc/init.d/functions@H_616_5@ 在这里这个@H_616_5@"."@H_616_5@是用来加载functions 中的命令或者变量参数等;最后因为我们在上面定义了@H_616_5@zhangsan@H_616_5@这个函数,那我们在最后一行可以调用这个zhangsan函数 输出如下:@H_616_5@@H_616_5@ @H_618_1@
#!/bin/bash function lisi () { echo 我的名字叫: $1 } lisi $1在这里我们定义了一个名字叫做lisi的函数,这里需要注意的是echo那行,正常的输出是没有问题的,但是在后面加了一个特殊的位置变量。$1 最后在我们调用函数的时候 后面也加了特殊位置变量 $1 执行效果如下:@H_616_5@ @H_618_1@
#!/bin/bash #no.1 if [ "$#" -ne 1 ] then echo "/root/sh/ $0" 请您输入一个网址 exit 1 fi #no.2 wget --spider -q -o /dev/null --tries=1 -T 3 $1 if [ "$?" -eq 0 ] then echo "$1 检测是成功的!" else echo "$1 检测是失败的!" exit 1 fi@H_618_1@
#!/bin/bash #no.1 if [ "$#" -ne 1 ] #如果用户输入的传参参数不是1 then # 那么 echo "/root/sh/ $0" 请您输入一个网址 #输出脚本路径和脚本名称 最后输出请您输入一个网址! exit 1 #退出脚本 fi #结束 #no.2 wget --spider -q -o /dev/null --tries=1 -T 3 $1 #如果用户输入传参数是对的,那么执行wget命令最后$1是用户输入的内容 if [ "$?" -eq 0 ] #如果以上wget测试成功了! then #那么 echo "$1 检测是成功的!" #输出用户输入网址并输出是成功的 else #否则 echo "$1 检测是失败的!" #输出用户输入网址并输出是失败的 exit 1 #退出脚本 fi #fi结束感觉不够养眼?没有关系,如下图@H_616_5@ @H_618_1@
function TS () { echo "/root/sh/ $0" 请您输入一个网址 exit 1 } function check_url () { wget --spider -q -o /dev/null --tries=1 -T 3 $1 if [ "$?" -eq 0 ] then echo "$1 检测成功!" else echo "$1 检测失败" exit 1 fi } function JG () { if [ "$#" -ne 1 ] then TS fi check_url $1 } JG $*@H_618_1@剖析:@H_616_5@ @H_618_1@@H_616_5@
function TS () { #定义一个名字为TS的函数 (提示的意思) echo "/root/sh/ $0" 请您输入一个网址 #执行的指令是 输出一个:请您输入一个网址 exit 1 #退出 } function check_url () { #定义一个名字为check_url的函数 (检测的意思) wget --spider -q -o /dev/null --tries=1 -T 3 $1 #如果用户输入传参数是对的,那么执行wget命令最后$1是用户输 入的内容 if [ "$?" -eq 0 ] #如果以上wget去测试成功了! then #那么 echo "$1 检测成功!" #输出用户输入网址并输出是成功的 else #否则 echo "$1 检测失败" # 输出用户输入网址并输出是失败的 exit 1 #退出 fi } function JG () { #这是最后的函数JG(结果的意思) if [ "$#" -ne 1 ] ##如果用户输入的传参参数不是1 then #那么 TS #注意了!!! 调用TS fi check_url $1 #如果上面传参是1 那么就调用check_url函数 } JG $* #这里的$*就是把命令行接收的所有参数作为函数传给函数内部最后我们再次执行脚本@H_616_5@@H_616_5@ @H_618_1@
function CDAN(){ cat << yankerp +------------------------------------------------+ | | | _o0o_ 1. 安装Nginx | | 08880 2. 安装Apache | | 88"."88 3. 安装MysqL | | (|-_-|) 4. 安装php | | 0\=/0 5. 部署LNMP环境 | | __/ \__ 6. 安装zabbix监控 | | ‘\ ///‘ 7. 退出此管理程序 | | / Linux一键 \ 8. 关闭计算机 | | || Server || ====================== | | \ //// 一键安装服务 | | ||| i i i ||| by Yankerp | | ___ ___ ====================== | |___‘. /--.--\ .‘___ | +------------------------------------------------+ yankerp } CDAN LOG_DIR=/usr/local/src read -p "请您输入1-8任意数值:" NUM if [ ${#NUM} -ne 1 ] then echo "请您输入1|2|3|4|5|6|7|8" exit 1 fi expr $NUM + 1 &>/dev/null if [ "$?" -ne 0 ] then echo "请您输入数值!" exit 1 fi if [ "$NUM" -gt 8 ];then echo "请您输入比8小的数值" exit 1 elif [ "$NUM" -eq 0 ];then echo "请您输入比0大的数值" exit 1 fi ###################### function Nginx_DIR() { yum install -y gcc gcc-c++ pcre-devel zlib-devel openssl-devel &>/dev/null if [ $? -eq 0 ] then cd $LOG_DIR && wget http://Nginx.org/download/Nginx-1.12.2.tar.gz &>/dev/null && useradd -M -s /sbin/nologin Nginx && \ tar zxf Nginx-1.12.2.tar.gz && cd Nginx-1.12.2/ && \ ./configure --prefix=/usr/local/Nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module --user=Nginx &>/dev/null && make &>/dev/null && make install &>/dev/null fi if [ -e /usr/local/Nginx/sbin/Nginx ];then ln -s /usr/local/Nginx/sbin/Nginx /usr/local/sbin/ && Nginx && echo "Nginx安装并启动成功!!!" fi } if [ $NUM -eq 1 ] then echo "开始安装Nginx请稍等..." && Nginx_DIR fi输出如下:@H_616_5@ @H_618_1@
以上是大佬教程为你收集整理的一步步理解Shell编程之函数用法全部内容,希望文章能够帮你解决一步步理解Shell编程之函数用法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。