当前位置: 首页 > news >正文

购买一个网站多少钱天津滨海新区落户政策

购买一个网站多少钱,天津滨海新区落户政策,网站建设讲话稿,北京网站建设厂家目录 一、系统函数 (一)前言 (二)常用的函数 basename [string/pathname] [suffix] 二、自定义函数 (一)语法 (二)脚本例子 三、函数实际案例 过程中的报错: …

目录

一、系统函数

(一)前言

(二)常用的函数

basename [string/pathname] [suffix]

二、自定义函数

(一)语法

(二)脚本例子

三、函数实际案例

过程中的报错: 

执行结果: 


一、系统函数

(一)前言

        shell中函数、脚本、命令意思有些相似,都是指为了实现某个功能的一段代码的集合,可以包装起来完成某些功能。

        shell会提供一些既有的可以直接执行调用的脚本,系统函数也分为内置外置,比如外置的脚本直接放在 /bin 目录下,就可以直接执行了

        如date函数,显示时间及时间戳

[root@hadoop-master sh_func_test]# date
2024年 10月 22日 星期二 16:42:05 CST
[root@hadoop-master sh_func_test]# date +%s
1729586538

         写入脚本:

  • date后面一定要加一个空格
  • 在这里,相当于调用了date函数,再使用+%s的参数,然后用$()包起来
  • 所有的命令都能在脚本里作为系统函数调用

[root@hadoop-master sh_func_test]# date_test.sh zxd
zxd_log_1729586975

(二)常用的函数

1.basename [string/pathname] [suffix]

        功能:会删掉所有前缀及最后一个 / 字符,然后将字符串显示出来,只是对之间的字符串做的切分,不管文件有没有存在

        suffix 是后缀,若指定,string/pathname 中的 suffix 会被去掉

2.dirname [string/pathname] [suffix]

        功能:对给定的路径文件名中,去除文件名部分,返回剩下的路径。也只是对之间的字符串做的切分,不论路径是否存在。

[root@hadoop-master sh_test]# func_test.sh
./func_test.sh
file name:func_test
path name:.

        假设我想要看某文件的实际路径:

  • 获得文件所在路径的值,cd进去
  • pwd得到绝对路径
  • 用命令替换的方式,调用函数

[root@hadoop-master sh_test]# func_test.sh
./func_test.sh
file name:func_test
path name:/root/sh_test

二、自定义函数

(一)语法

function funname[()]
{action[return int;]    #可有可无
}

1.形参无需定义,内部的$1...就是传入的参数

2.必须在调用函数地方之前,先声明函数,shell 脚本是逐行运行。不会像其它语言一 样先编译。

3.函数返回值只能通过 $? 系统变量获得,可以显示加:return 返回,如果不加,将 以最后一条命令运行结果,作为返回值。return 后跟整数(0-255)

(二)脚本例子

问题:

  1. 外部的$sum*$sum漏括号
  2. 由于return只有0-255,如何获取函数的返回值?

        可以函数内使用echo打印一下,然后在外部用$()就能接受结果了

三、函数实际案例

        举一个实际中很有用的例子

        需求:实现对指定目录归档备份的脚本,当输入一个目录名称(末尾不带/), 将目录下所有文件归档保存,并将归档日期附加在归档文件名上,放在/mydir/myarchive目录下。

#!/bin/bash#1、归档目录只能一个输入,因此先判断参数个数
if [ $# -ne 1 ]
then
echo "参数个数错误,请输入1个参数"
exit
fi#2、参数正确时,获取目录名称
if [ -d $1 ] # 存在并且是路径
then
echo
else
echo "directory doesn't exist!"
exit
fiDIR_NAME=$(basename $1)
DIR_PATH=$(cd $(dirname $1);pwd) # 执行的目录可能与传入的路径不一致,因此使用绝对路径
echo $DIR_PATH#3、归档文件名称,获取当前日期
DATE=$(date +%y%m%d)#4、定义生成的归档文件名
FILE=archive_${DIR_NAME}_$DATE.tar.gz
FILE_NAME=/mydir/myarchive/$FILE#5、开始归档目录文件
echo "开始备份"
tar -czf $FILE_NAME $DIR_PATH/$DIR_NAME#6、判断是否执行成功
if [ $? -eq 0 ]
then
echo "归档成功,文件名为:$FILE_NAME"
else
echo "执行出问题"
fiexit

过程中的报错: 

  • DIR_PATH获取绝对路径时少了$()
  • date函数后方的%y%m%前面不能与"+"号有空格,而date与"+"号之间应该有空格
[root@hadoop-master daily_archive_func]# date +%y%m%d
241023#"date+%y%m%d"会被认为是一条命令
[root@hadoop-master daily_archive_func]# date+%y%m%d
-bash: date+%y%m%d: 未找到命令#会被认为多了一个参数
[root@hadoop-master daily_archive_func]# date + %y%m%d
date: 额外的操作数 "%y%m%d"
Try 'date --help' for more information.

执行结果: 

[root@hadoop-master daily_archive_func]# daily_archive_func.sh a
directory doesn't exist![root@hadoop-master daily_archive_func]# daily_archive_func.sh 1 2
参数个数错误,请输入1个参数[root@hadoop-master daily_archive_func]# daily_archive_func.sh /mydir/myarchive
/mydir
开始备份
tar: 从成员名中删除开头的“/”
归档成功,文件名为:/mydir/myarchive/archive_myarchive_241023.tar.gz

        此外,可以使用 crontab 定时运行该脚本,定时归档

http://www.15wanjia.com/news/166425.html

相关文章:

  • 网站分为哪几种seo搜索优化怎么做
  • 中国建设银行网站首页旧版冷库建设网站
  • 仿牌网站 域名注册哪里有网络推广公司
  • 网站重新安装网站架构原理
  • 集团公司门户网站建设网站开发的关键技术与难点
  • 建筑网站大全导航手机qq网页版登录
  • 做mv主题网站上海网站seo策划
  • 增加网站关键词库潍坊免费模板建站
  • 西安宝马建设科技股份有限公司网站做网站f12的用处
  • 网站功能报价阿里云wordpress xampp
  • 专业做电脑系统下载网站好建设一个app要多少钱
  • 摄影网站模板高端网站建设询问磐石网络
  • 自助建站免费网站app介绍模板
  • 网站制作对公司的作用浏览器的历史
  • jsp和html做的招聘网站2016优秀网站设计
  • 禁止网站收录网站如何做静态化
  • 嘉兴专业做网站如何做视频类网站
  • 网站维护运营网站的建设维护
  • 域名管理网站wordpress哪种主题好
  • 云南省建设工程网站网页设计dw实训报告
  • 邢台做wap网站价格网站的搜索框如何做
  • 深圳网站备案简书wordpress主题
  • 简单的网站设计怎么做网站建设远程培训
  • 做系统后之前网站怎么找回wordpress主题设置选择
  • 网站备案取消流程网站常用字体大小
  • 有没有专业做二手老车的网站华为公司电子商务网站建设策划书
  • dedecms 网站地图 插件上海市建筑工程有限公司
  • 网站建设原济南互联网选号网站
  • wordpress建站 防攻击高端定制外贸网站
  • 做直播网站需要哪些技术宁波公司