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

wap网站建设免费系统门户网站建设详细功能

wap网站建设免费,系统门户网站建设详细功能,wordpress房产企业模板免费下载,如何利用开源代码做网站在上一篇博客中,我们已经对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/a/575786.html

相关文章:

  • 衡阳网站优化教程宁波app制作
  • ps制作网站教程软件下载网站哪个好用
  • 网站集约化建设存在的困难课程网站建设ppt模板
  • 哪个网站可以帮忙做简历阿里云服务器租用
  • 门户网站官网有哪些陕西建设网查证件查询
  • 内蒙古高端网站建设中国建设银行官方网站app下载
  • 零食天堂 专做零食推荐的网站网站平台内容建设提纲
  • 网站开发是做啥的上海比较有名的公司
  • 哈尔滨专业建网站哪家好wordpress手机显示缩
  • 专门做童装的网站有哪些网站建设价格标准渠道
  • 梧州网站建设定制网站开发实习总结
  • 上海网页制作方法河南网站推广优化多少钱
  • 长春专业做网站的公司排名在线制作图片背景
  • 健康管理公司网站建设百度网址安全检测中心
  • 个人怎么建立网站吗网站建设及管理制度文章
  • 顺德建设行政主管部门网站营销平台推广
  • 商城网站开发培训学校网站怎样排版
  • 建设银行杭州招聘网站怎么做汽车网站推广方案
  • 为了 门户网站建设网站体验步骤
  • 太原网站推广教程自我介绍网站html
  • 中英文网站源码php运城网站建设哪个好
  • 网络营销型企业网站案例巴音郭楞网络营销
  • 网站设计任务书北京哪里有教怎么做网站的
  • 住房城乡建设部官网站美食网站设计规划书
  • 织梦网站默认密码wordpress 本地
  • 网站建立者学生个人网页设计作品
  • js特效网站欣赏运行下打开wordpress
  • 西咸新区建设环保网站好看的网站设计
  • 织梦网站建设流程php免费网站源码
  • 山东省建设执业师网站seo外链工具下载