前言:
诶…朋友们好啊,我是一个头条萌新小编/CSDN博主——坐公交也用券,大家平时都叫我村长
刚才有个朋友问我村长发生什么事了,我说怎么回事,给我发了几张截图。
我一看!嗷!原来是昨天,我发了几篇文章,各种脚本分享,实用技巧分享等。
我问:怎么了,发生肾么事了吗,是不是没人关注
他说,诶…村长,你发的教程看的人还挺多,但是粉丝还是太少了,你能不能发一些可以涨粉的技术教程。
我说可以,于是我又发了几篇文章,发现看的人很多都不三连,来看,来白嫖我二十多岁的小编,这好吗?这不好,所以我劝这些年轻人好好反思,以后不要再犯这样的聪明,小聪明,啊,CSDN要以和为贵,要讲观德,不要白嫖,要搞三连,谢谢朋友们。
正文
大家在写Python、Java这些代码的时候,开头总会有import
语句,然后简单的几句调用就实现了想要的功能,例如:
从上面可以看到,只需要五段代码即可实现一个窗口的创建,但是实际上生成这一个窗口所需的所有源码是远远不止这么点的,具体有多少我们也没必要去深究,反正能实现我们想要的就行了,是吧。
那么今天的主题就是:Shell如何实现这样的骚操作呢?
Shell脚本也有import
当然,并不是真的使用import命令,而是使用source
命令去导入我们的包
,下面举个简单的例子:
首先我们编写一个脚本,主要实现两个功能,一个是查询IP地址,一个是查询主机名,但是这两个功能都使用函数去封装起来,所以只有我们手动去调用它才能真的起作用
[root@x ~]# cat x.sh
#!/bin/bash
##功能脚本
get_ip(){
hostname -I
}
get_name(){
hostname
}
下面执行看效果:
此时,是没有任何反馈信息的,然后我们继续创建一个主脚本,去导入这个功能脚本,主脚本内容如下:
[root@x ~]# cat main.sh
#!/bin/bash
##主程序
if [[ -e "./x.sh" ]];then
source ./x.sh #导入功能脚本
echo -e "请选择需要进行的操作\n[1]查询本机IP[默认]\n[2]查询本机主机名"
read x
if [[ "$x" -eq '2' ]];then
get_name #调用查询主机名函数(功能)
else
get_ip #调用查询IP函数(功能)
fi
else
echo -e "找不到文件[./x.sh]"
fi
执行结果:
此时,就成功实现了Shell脚本“导入包”的一个骚操作,分离脚本的好处就是更利于维护更新,尤其是体量大的时候,当然,体量大的功能建议还是使用Python去实现