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

昆明网站制作谷歌优化教程

昆明网站制作,谷歌优化教程,wordpress更改固定链接404,网站设计的实例在上一篇博客中,我们已经对Shell编程有了初步的认识,并对Shell的一些知识进行了梳理和应用,在这篇博客中,将衔接上一篇的内容,继续对Shell编程进行较为基础的讲解。如有需要的朋友,可以访问如下链接&#x…

        在上一篇博客中,我们已经对Shell编程有了初步的认识,并对Shell的一些知识进行了梳理和应用,在这篇博客中,将衔接上一篇的内容,继续对Shell编程进行较为基础的讲解。如有需要的朋友,可以访问如下链接,参考学习上一篇的内容:

Shell脚本编程基础篇(1)-CSDN博客https://blog.csdn.net/weixin_49337111/article/details/146092297?spm=1001.2014.3001.5502

1、shell数组

        一个数组中可以存放多个值,但在bash shell中,仅支持一维数组。在初始化时不需要定义数组大小,同C/C++类似,shell数组的下标也是从0开始,获取shell数组中的元素值时,需要借助下标实现。

(1)、定义数组

        用括号( )来定义表示数组,数组中各个元素之间用"空格"符号分割开。

#!/bin/bash#方法1
buf_demo1=(val1 val2 val3 val4)#方法2
buf_demo2=(
val1
val2
val3
val4    
)#方法3
buf_demo3[0]="Hello world.";
buf_demo3[1]="Good bye!";
buf_demo3[2]="Thank you";
buf_demo3[3]=".....";

(2)、读取数组

        获取shell数组元素的值,一般使用美元符号加大括号包围住数组名

①、读取数组的单个元素值:${array[index]}

#!/bin/bashbuf_demo=(5 4 3 2 1)echo "buf_demo[0]: ${buf_demo[0]}"
echo "buf_demo[1]: ${buf_demo[1]}"
echo "buf_demo[2]: ${buf_demo[2]}"
echo "buf_demo[3]: ${buf_demo[3]}"
echo "buf_demo[4]: ${buf_demo[4]}"

 ②、读取数组的全部元素:${array[*]}${array[@]}

#!/bin/bashbuf_demo=(9 'a' 7 6 5 'das' 3 2 d 0)echo "method1: ${buf_demo[@]}"
echo "method2: ${buf_demo[*]}"

(3)、获取数组长度

        在shell中,获取数组长度的方法和获取字符串长度的方法是一样的。相比于获取数组的全部元素命令,获取数组长度操作需要借助符号#

${#array[@]}

${#array[*]}

#!/bin/bashbuf_demo=('a' 1 'cat' 5 '666')echo "buf lenth: ${#buf_demo[@]}"
echo "buf lenth: ${#buf_demo[*]}"

(4)、关联数组

        shell中可以使用关联数组。关联数组中引入了键值对概念,并且关联数组的键是唯一的

        关联数组可以使用一个任意的字符串或数字作为数组的下标,通过该字符串或数字即可访问关联数组的对应元素。

        在应用关联数组前,需要使用declare声明定义一个数组作为关联数组。

        declare -A array

#!/bin/bash#方法1
declare -A buf_demo1=(["abc"]="123" ["def"]="456" ["hgk"]="789")echo "${buf_demo1["abc"]}"
echo "${buf_demo1["def"]}"
echo "${buf_demo1["hgk"]}"#方法2
declare -A buf_demo2=(
["111"]="aaaa"
["222"]="bbbb"
["333"]="cccc"
["444"]="dddd"
)echo "${buf_demo2["111"]}"
echo "${buf_demo2["222"]}"
echo "${buf_demo2["333"]}"
echo "${buf_demo2["444"]}"#方法3
declare -A buf_demo3buf_demo3["hello"]="welcome to this world"
buf_demo3["heihei"]="hahahah a"
buf_demo3["flower"]="this is a blue"
buf_demo3["water"]="the weather is so hot!"echo "${buf_demo3["hello"]}"
echo "${buf_demo3["heihei"]}"
echo "${buf_demo3["flower"]}"
echo "${buf_demo3["water"]}"

        在关联数组加一个感叹号 ! 可以获取数组的所有键

#!/bin/bashdeclare -A buf_demo=(["abc"]="123" ["def"]="456" ["hgk"]="789")echo "${!buf_demo[@]}"
echo "${!buf_demo[*]}"

2、shell输入获取

        read 命令是 Bash Shell 的内置命令,专门用来从标准输入中读取数据并赋值给变量。如果没有进行重定向,默认就是从键盘中读取用户输入的数据;如果进行了重定向,那么可以从文件中读取数据。

        read 命令的语法格式如下:

read [options] [variables]

        read命令的常用选项

#读取输入一个值
read val1#其中please input data为注释内容
read -p "please input data:" val1 val2 val3#从文本输入
read val<1.txt 

3、shell注释

        以#开头的行,就是shell的注释行,即当前行被注释掉了。同样采取以#为注释的还有python

#!/bin/bashecho hello world
#####################注释#####################
#--------------------------------------------
# Shell注释
# author:牛马大师兄
# date:2025/03/10 19:17#--------------------------------------------#

        多行注释

#!/bin/bashecho hello world
#网上的教程较为常见的shell多行注释方法如下
:<<EOF
注释内容...
注释内容...
注释内容...
EOF#但经过实际的编程验证发现
#直接采用如下方法多行注释一样可行
<<COMMENT
内容1
内容2
...
内容n
COMMENT: <<'COMMENT'
这是注释的部分。
可以有多行内容。
COMMENT:<<!
内容1
内容2
...
内容n
!

4、shell命令

(1)、echo

        echo命令直接用于输出显示内容到终端或文件

        常用的输出格式为:echo str

#!/bin/bash#显示普通字符串
echo "Welcom to Shell World!"    #字符串可选择是否加上引号
echo  Welcom to Shell World!#显示转义字符
echo "\"hello world!\""
echo  \"hello world!\"#显示变量
value=100
echo $value#显示换行
echo -e "hello world!\n"
echo "hello world!"#显示内容到文件中,临时重定向echo显示
echo "Byebye!">demo.txt#显示命令执行结果
echo `date`    #显示当前日期时间

(2)、printf

        在shell脚本中的printf使用方式和C语言中的printf函数类似,实现的功能也是一样的。可以说shell的printf是对C语言printf的模仿和复现。

        shell中的printf 是由 POSIX 标准所定义的,故而使用 printf 的脚本比使用 echo 移植性好。

#使用方式
printf  format-string  [arguments...]

参数说明:
format-string: 一个格式字符串,它包含普通文本和格式说明符。
arguments: 用于填充格式说明符的参数列表。


#!/bin/bash#显示输出hello world!printf "Hello world!\n"echo -e "Hello world!\n"printf "Hello %s,today is %d %d %d %.2f\n" Tony 2025 3 10 20.58printf "dec:%d hex:%X oct:%o\n" 10 10 10       

(3)、test

        test命令用于判断两个条件是否成立,成立则输出为真,不成立输出非真。test测试判断的三种对象:字符串整数文件属性

①、数值测试

a -eq b: equal测试两个整数是否相等
a -ne b: not equal 测试两个是否不相等
a -gt b: greater 测试a是否大于b
a -ge b: greater or equal 测试a是否大于等于b
a -lt b: little 测试a是否小于b
a -le b: little or equal 测试a是否小于等于b

        代码中的 [] 执行基本的算数运算

#!/bin/bashval1=100
val2=6if test $[val1] -eq $[val2]
thenprintf "val1=val2"
elseecho "val1!=val2"
fi

②、字符串测试

=         测试两个字符串内容是否完全一样
!=          测试两个字符串内容是否不一样
-Z(zero)    测试字符串是否为空,为空,返回true
-n(null)    测试字符串是否不为空,不为空,返回true

        在测试字符串变量时,需要防止字符串为空的技巧:

        引用变量后加一个额外的字符:test ${A}x = ${B}x

#!/bin/bashstr1="hello world!"
str2="byebye!"if test $[str1] = $[str2]
thenecho "str1 = str2"
elseecho "str1 != str2"
fi

③、文件测试

-d         name 测试name是否是一个目录(dir) //  if  test -d  1.txt;then
-f         name 测试name是否是一个普通文件(file)
-L         name 测试name是否为符号链接文件(Link)
-r         name 测试name文件是否存在并可读(read)
-w         name 测试name文件是否存在并可写(write)
-x         name 测试name文件是否存在并可执行(excute)
-s         name 测试name文件是否存在并且长度不为0(size)
f1 -nt f2         测试f1 是否比f2更新(newer than)
f1 -ot f2         测试f1 是否比f2更旧(older than)

#!/bin/bash#单个文件检测
if test -e 1.txt
thenecho '1.txt文件已存在!'
elseecho '1.txt文件不存在!'
fi#多个文件检测
if tets -e 1.txt -o -e 2.txt
thenecho '1.txt或2.txt文件已存在!'
elseecho '1.txt和2.txt文件均不存在!'
fi

        组合了两个或两个以上的表达式称为复合表达式,你可以用test([])内置的的操作符,也可以用条件操作符(&& || !)来实现。

test命令可以用[]来简写       

test expression [ expression ]

http://www.dtcms.com/wzjs/85596.html

相关文章:

  • 哪家做网站做的好什么是搜索引擎竞价推广
  • 宿州网站建设多少钱国外搜索引擎网站
  • 网站如何注册域名武汉网络广告推广服务
  • 济宁网站建设 中企动力临沂风云榜百度
  • 湘潭网络营销百度快照优化排名
  • 域名怎么绑定网站活动策划方案
  • 站酷网素材图库排版东莞seo报价
  • 公司做网站如何跟客户介绍做网站设计的公司
  • 创建一个网页多少钱双桥seo排名优化培训
  • 十大室内设计师排名天津seo诊断
  • 建设像京东一样的网站快手seo
  • 做天猫网站价格表软文推广平台排名
  • 风讯网站内容管理系统必应搜索引擎首页
  • wordpress 媒体库优化页面seo优化
  • 服务器建立网站seo厂商
  • 沈阳网站建设工作室百度搜索引擎api
  • 怎么用office做网站关键词优化推广公司
  • 网站建设的公司做销售网页游戏
  • 要给公司做一个网站怎么做的吗一站式营销推广
  • 提供镇江网站建设网站设计制作
  • 云服务器做网站好吗百度搜索排名优化
  • seo怎么做网站内容seo站长工具下载
  • 专做母婴的网站百度关键词挖掘查询工具
  • wordpress目录只显示第一个图片搜索引擎优化seo专员
  • 盗取dede系统做的网站模板宁波优化关键词首页排名
  • 合肥网站建设国外网站排名 top100
  • 南京做网站营销网上教育培训机构
  • 商城网站建设第一章百度总部在哪里
  • 北京免费网站建设百度seo学院
  • 绵阳做最好优化网站的百度首页关键词优化