shell脚本函数及附带选项

news/2025/1/2 14:00:34/

shell脚本函数

函数编辑完后,需要调用函数才有意义

#!/bin/bash
hello()	#定义函数
{
echo "hello world"
}hello	#调用函数

案例:使用shell脚本来写一个函数,判断当前目录下存在多少个文件与目录

#!/bin/bash
dir()
{
dirnum=0	#目录的数量
filenum=0	#文件的数量
for file in $(ls ./)
doif [ -d $file ]thenlet dirnum=$dirnum + 1	#每检测到一个目录,变量dirnum值加1elif [ -f $file ]thenlet filenum=$filenum + 1	#每检测到一个文件,变量filenum值加1fi
done
echo "目录数量:"$dirnum
echo "文件数量:"$filenum
}dir

shell脚本的附带选项

举个例子

tail -10 access.log#tail是命令
#-10是选项
#access.log是附带选项
#tail会根据选项执行对应操作,根据附带选项来打开对应文件

通过Linux提供的系统变量“$1 $2 $3”等位置参数,根据脚本“*.sh”后面的选项位置,来决定接受哪一个选项

vi t.sh
#!/bin/bash
echo $1 $2 $3
echo $0   

将t.sh脚本执行

# ./t.sh a b c

输出结果为

a b c

可以看出

$1是接收脚本后面第一个选项的值
$2是接收脚本后面第二个选项的值
$3是接收脚本后面第三个选项的值
如果还有$4,$5,$6等也是一次类推
而$0则是脚本本身

将shell脚本制成指令

在家目录中有一个隐藏文件‘.bashrc’用来设置别名,使用vi/vim编辑器进入,在alias后面添加一行

alias 要制作的指令名称='绝对路径'

文件配置完成后,需要切换一下用户,再切换回来,配置文件才能生效

案例:
自定义指定‘user’,并且该指定可以执行如下功能
user -add 用户名
在操作系统中添加一个用户
user -del 用户名
删除该用户
把上述要求制成指令

# vi t.sh
#!/bin/bash
if [ $1 = -add ]thenuseradd $2
elif [ $1 = -del ]thenuserdel $2
fi

编辑配置文件,给t.sh文件设置别名

#	vi ~/.bashrc
#	alias user='/root/t.sh'

切换用户,使配置文件生效;可以在/home目录查看是否成功

#	su test
# 	su root

执行看看

#	user -add lisa

http://www.ppmy.cn/news/769923.html

相关文章

SQl基础——附带实例

这是在工作开始学习SQL基础时记下的一点笔记,内容很基础。算是对学习的个人记录,适合初学者和学生来看。学的时候用的Typora来写的其中的注释有的用的–有的用的/**/.文章可能还有些许错误,请大家指教。 【】:表示其中的内容可以…

html5+Css总结(附带案例)

HtmL5 和CSS一些常见总结 前端(通常指的是用户能够看到)网页通常是由三部分组成: 1.html:也是前端网页基本框架结构,类似于骨架一样的作用 2.CSS: 也叫层叠样式表,就是为美化界面而存在 3.Javascript: 使页面具有动态的效果(包括与用户的一个…

C++实现数独(附带过程)

首先,来到这里的人应该都知道数独是什么。 那么,如果没有c,你,在面对数独时会怎么做? 1.纯方法 1.摒除法:用数字去找单元内唯一可填空格,称为摒除法,数字可填唯一空格称为摒余解(…

Maven安装及配置(附带安装包)

Maven安装及配置 目录 Maven安装及配置 一: 安装包准备: 二: 安装配置 三: Maven 依赖地址更改为阿里镜像 四: idea中配置maven 一: 安装包准备: apache-maven-3.6.3-bin 链接&#xff1…

C语言实现扫雷 附带源代码

扫雷游戏C语言实现 我们绝大多数的人都玩过扫雷小游戏,但是扫雷游戏的原理是什么?如果你学过C语言但是没有思路设计这款游戏,那么这篇文章应该对你大有裨益; 文章目录 扫雷游戏C语言实现一、扫雷游戏规则介绍二、test.c板块三、头…

k8s快速部署,附带脚本

内容导航 (一)资产信息(二)脚本内容(三)网络插件flannel1,使用flannel网络插件2,修改网络模式为ipvs,(svc无法ping通)。 (四)yml基本结构编写1&am…

ESP32-Arduino安装(附带驱动)

Arduino安装 官网安装(官网地址:Software | Arduino) 2.0.x版本与1.8.19版本都可以,提供2.0.1版本汉化 链接:https://pan.baidu.com/s/1wW95kxyneYmZ0Qd0l1JevA?pwdkada 提取码:kada 安装过程直接下一…

CSS注释(附带示例)

CSS注释(附带示例) 在代码中合理的添加注释是个非常好的习惯,通过注释您可以对代码加以解释说明(例如描述某段代码的功能、使用方法等),浏览器会自动忽略注释的内容。注释对开发人员非常重要,它…