shell脚本之函数的定义及使用

函数Function的使用

定义函数

1)

函数名称() {

...

...

}

2)

function 函数名称 {

...

...

}

调用函数

函数名称

也可以通过位置变量的方式给函数传递参数

例子:

编写脚本,实现目录管理功能,要求使用函数

#!/bin/bash

#

createDir() {

read -p "Enter directory: " dir

if [ -d $dir ]; then

echo "目录$dir存在"

else

mkdir -p $dir

echo "目录$dir创建完成"

fi

}

removeDir() {

read -p "Enter directory: " dir

if [ -d $dir ]; then

rm -rf $dir

echo "目录$dir删除完成"

else

echo "目录$dir不存在"

fi

}

cat << eof

===================

目录管理

1、创建目录

2、删除目录

3、退出脚本

==================

eof

echo

while true; do

read -p "请输入你的选择:" choice

case $choice in

1)

createDir

;;

2)

removeDir

;;

3)

exit 0

;;

*)

echo -e "\033[31m输入错误!\033[0m"

;;

esac

done

编写脚本,实现用户管理功能

#!/bin/bash

#

createUser() {

read -p "Enter user: " name

if ! id $name &> /dev/null; then

useradd $name

read -p "Enter password: " password

echo "$password" | passwd --stdin $name &> /dev/null

echo "用户$name创建完成"

else

echo "用户$name不存在."

fi

}

removeUser() {

if id $1 &> /dev/null; then

userdel -r $1

echo "用户$1删除完成"

else

echo "用户$1不存在"

fi

}

modifyUser() {

read -p "Enter user: " name

if id $name &> /dev/null; then

sh_name=$(grep "^$name:" /etc/passwd | awk -F: ‘{print $7}‘)

echo "用户$name当前的SHELL: $sh_name"

echo

echo "系统当前的SHELL:"

cat -n /etc/shells

echo

read -p "请输入要修改的SHELL: " new_sh_name

usermod -s $new_sh_name $name

echo "用户$name的SHELL被修改为$new_sh_name"

else

echo "用户$name不存在"

fi

}

cat << eof

===============

用户管理

1、创建用户

2、删除用户

3、修改用户SHELL

4、退出脚本

===============

eof

echo

while true; do

read -p "请输入你的选择:" choice

case $choice in

1)

createUser

;;

2)

read -p "Enter user: " name

removeUser $name

;;

3)

modifyUser

;;

4)

exit 0

;;

*)

echo "输入错误!"

;;

esac

done

nginx服务控制脚本:

安装nginx

[[email protected] ~]# yum install -y gcc pcre-devel zlib-devel openssl-devel

[[email protected] ~]# tar xf nginx-1.11.4.tar.gz

[[email protected] ~]# cd nginx-1.11.4/

[[email protected] nginx-1.11.4]# ./configure --prefix=/usr/local/nginx

[[email protected] nginx-1.11.4]# make && make install

脚本如下:

#!/bin/bash

#

nginx_cmd=/usr/local/nginx/sbin/nginx

nginx_conf=/usr/local/nginx/conf/nginx.conf

nginx_pid_file=/usr/local/nginx/logs/nginx.pid

start() {

$nginx_cmd

if [ $? -eq 0 ]; then

echo "服务nginx启动......[ok]"

fi

}

stop() {

$nginx_cmd -s stop

}

reload() {

if $nginx_cmd -t &> /dev/null; then

$nginx_cmd -s reload

else

$nginx_cmd -t

fi

}

status() {

if [ -e $nginx_pid_file ]; then

echo "服务nginx(PID `cat $nginx_pid_file`) is running..."

else

echo "服务nginx is stopped..."

fi

}

if [ -z $1 ]; then

echo "使用:$0 {start|stop|restart|reload|status}"

exit 9

fi

case $1 in

start)

start

;;

stop)

stop

;;

restart)

stop

sleep 2

start

;;

reload)

reload

;;

status)

status

;;

*)

echo "使用:$0 {start|stop|restart|reload|status}"

exit 8

esac

时间: 2024-08-08 22:04:34

shell脚本之函数的定义及使用的相关文章

Linux中的shell脚本编程——函数

概述: 本章节将总结while,for循环语句的特殊用法,在不同的场景当中,更能发挥其功能和价值.除此之外,还会介绍一种特殊的循环语句select语句,实现菜单的作用.最重要的是讲解shell脚本编程中函数的用法.这些内容都要熟练掌握. 一.循环语句的特殊用法: 1.while循环的特殊用法(遍历文件的每一行): □语法:while read line; do 循环体 done < /PATH/FROM/SOMEFILE □意义:依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将

shell脚本 4 函数与正则

shell函数 shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数.给这段代码起个名字称为函数名,后续可以直接调用该段代码. 格式 func() {   #指定函数名 command    #函数体 } 实例1: #!/bin/bash func() { echo "This is a function." } func # bash test.sh This is a function. Shell 函数很简单,函数名后跟双括号,再跟双大括号.通过函数

shell脚本的函数介绍和使用案例

#前言:今天我们来聊聊shell脚本中的函数知识,看一下函数的优势,执行过程和相关的使用案例,我们也来看一下shell和python的函数书写方式有什么不同 #简介 1.函数也具有别名类似的功能 2.函数是把程序里多次调用相同的代码部分定义成一份,然后给这份代码定义个名字,如果出现重复的就调用就行了 #函数的优势 1.把相同的程序段定义成函数,可以减少整个程序的代码量 2.可以让程序代码结构更清晰 3.增加程序的可读.易读性.以及管理性 4.可以实现程序功能模块化,不同的程序使用函数模块化 #语

Linux shell 脚本中使用 alias 定义的别名

核心知识点: 用 shopt 开启和关闭 alias 扩展 交互模式下alias 扩展默认是开启的,脚本模式下默认是关闭的 **** alias 扩展的名称是 expand_aliases alias 定义 在当前session中,可以直接在命令行执行 alias alias-name-define="xxxx" 比如: [email protected]/9 $ alias aliasTest="echo Hello world" [email protected

Shell脚本(函数,shell中的数组)

函数 函数就是把一段代码整理到一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可. 格式:function f_name(){ command } 函数必须放在最前面,函数名可以自己定义. 案例一: [[email protected] shell]# vim fun.sh #!/bin/bash function inp() { echo $1 $2 $3 $10 ${10} ${11} $0 $# [$*] } inp 1 2 3 4 5 6 7 8 9 3

shell脚本结合函数实现简单计算器功能

#!/bin/bashfunction tool_menu(){    echo "****************************************************"    echo "*                                                  *"    echo "*              calculation  tools                  *"   

shell脚本之函数的参数

#! /bin/bash echo use function hello() { echo how many parameters in the function:$#; echo the name of this function is $0; echo the first parameters is :$1; echo the second parameters is :$2; } hello "hello" "world" [[email protected]

在shell脚本中使用函数

转载请标明:http://www.cnblogs.com/winifred-tang94/ 对于在脚本中重复使用的功能模块,可以封装成为函数. shell脚本中函数的定义可以使用如下两种方式: a. 函数名() { ······· } b. function 函数名() { ·········· } eg. 结果为: 值得注意的是,如果判断相等哪里想用test指令的话,应该使用如下的格式:

Shell脚本编程入门到放弃

1 区分大小写 UNIX是区分大小写的,因此shell脚本也是区分大小写的 2 特殊字符 UNIX的某些字符都有特殊的意义或功能,如果它们不以其特殊的意义使用必须要进行转义(escaped). 为了转义它们需要用反斜杠或者单引号括起来. 3 shell shell(命令行解释器)是一个能够用来运行命令.程序和shell脚本的环境. 4 shell脚本 shell脚本就是命令的有机组合. shell脚本和函数都是解释型的,ASCII文本,不能被编译. 5 函数 函数的编写和脚本的编写类似,不同之处