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

wordpress 站点地址口碑好的家装前十强

wordpress 站点地址,口碑好的家装前十强,工商局网上办事大厅,互联网公司是什么目录 前言 一、变量 1.定义变量 2.使用变量 3.修改变量 4.将命令的结果赋值给变量 5.只读变量 6.删除变量 二、传递参数 三、字符串 1.字符串举例 2.统计字符串长度 3.字符串拼接 4.截取字符串 总结 前言 Shell是一种程序设计语言。作为命令语言,它…

目录

前言

一、变量

1.定义变量

2.使用变量

3.修改变量

4.将命令的结果赋值给变量

5.只读变量

6.删除变量

二、传递参数

三、字符串

1.字符串举例

2.统计字符串长度

3.字符串拼接

4.截取字符串

总结


前言

  • Shell是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
  • Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。
  • Shell 既是一种命令语言,又是一种程序设计语言。

 

一、变量

1.定义变量

  • Shell 支持以下三种定义变量的方式
    • variable=value
    • variable='value'
    • variable="value"

注意!!!赋值号=的周围不能有空格,这可能和你熟悉的大部分编程语言都不一样。

运行文件之前记得保存 ctrl + s 快捷保存

  • Shell 变量的命名规范和大部分编程语言都一样:
    • 变量名由数字、字母、下划线组成;
    • 必须以字母或者下划线开头;
    • 不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字)。

举例:.sh文件的开头必须是 #!/bin/sh 或者 #!/bin/bash 这是为了告诉操作系统使用该解释器

#!/bin/sha="hello world"
b=helloworld
c='hello world'

 

2.使用变量

  • 使用一个定义过的变量,只要在变量名前面加美元符号$即可
  • 变量名外面的花括号{ }是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界
  • 当变量与其他字符相连时,应使用花括号
#!/bin/sha="java"echo $a            # echo 打印 相当于python里的print
echo ${a}echo "Can you use ${a}web"

 

3.修改变量

  • 已定义的变量,可以被重新赋值
#!/bin/bash$b='java'  
b='java'   # 正确更改变量 直接 变量名=新值
echo "${b} is good"

 

  • 单引号和双引号的区别
#!/bin/bash# 单双引号的区别 单引号内任何符号都被识别为字符串 无法引用变量
# 引用变量时最好加个{}  提高代码可读性
echo "hhhh ${b}"
echo 'hhhh ${b}'
echo hhhh ${b}

输出: 单引号引起来的全部被识别为字符串输出

hhhh 
hhhh ${b}
hhhh

 

4.将命令的结果赋值给变量

  • vm里有不少命令都会输出结果 
  • 可以将结果赋值给变量进行使用
#!/bin/bash# 命令的使用
comm=$(ps)    # ps 查看当前存在的进程及其状态 通过$()将命令进行赋值
echo ${comm} 
echo "there is : $(pwd)"   # pwd 查看当前文件路径
echo "there is : `pwd`"    # 优先运行$()和``里的命令 将结果作为参数输出 

输出:

PID TTY TIME CMD 3450 pts/1 00:00:00 bash 4014 pts/1 00:00:00 sh 4015 pts/1 00:00:00 ps
there is : /root/shell_code
there is : /root/shell_code

 

5.只读变量

  • 使用 readonly 命令 将变量定义为只读变量
  • 只读变量不可修改或删除
#!/bin/bash# readonly 只读变量 不能修改 也不能被删除tt="abcd"
echo "${tt}...."readonly tt          # 将tt变成只读变量
tt="lsakdjflkj"    # 赋值不成功  行31: tt: 只读变量
echo "${tt}...."

输出:

abcd....  
demo2.sh:行40: tt: 只读变量   # 因为尝试修改只读变量 所以报错

 

6.删除变量

  • 使用 unset 命令删除变量
  • 变量被删除后不能再次使用
  • unset 命令不能删除只读变量
#!/bin/shtt="abcd"
readonly tt          # 将tt变成只读变量# unset  删除变量 
unset tt           # 删除tt变量   第 34 行:unset: tt: 无法反设定: 只读 variable
echo "${tt}.lsjdfl"b="python"
echo "${b} is good"
unset b 
echo "${b} is good"   # b变量被删除 但是引用不会报错 只是输出空

输出:尝试删除只读变量 tt 会报错 ;删除失败 tt 仍可以使用;普通变量 b 被删除后引用不会报错 只是输出空

demo2.sh: 第 47 行:unset: tt: 无法反设定: 只读 variable
abcd.lsjdfl
python is goodis good

 

二、传递参数

举例:

#!/bin/sh# Shell脚本 脚本传参echo "运行的文件名为:$0"    # 这个脚本本身是第0个参数
echo "传递的第1个参数为:$1 "
echo "传递的第2个参数为:$2 "
echo "传递的第3个参数为:$3 "
echo "传递的第4个参数为:$4 "
echo "传递的第5个参数为:$5 "
echo "传递的第6个参数为:$6 "
echo "传递的第7个参数为:$7 "
echo "传递的第8个参数为:$8 "
echo "传递的第9个参数为:$9 "
echo "传递的第10个参数为:${10} "
echo "传递的第11个参数为:${11} "# 假设在脚本运行时写了三个参数 1、2、3
echo "$*"       # 则 " * " 等价于 "1 2 3"(传递了一个参数)
echo "$@"       # 而 "@" 等价于 "1" "2" "3"(传递了三个参数)echo $#         # $# 统计传入参数的总数  脚本名称是第0个参数  

输出:

[root@tokyo001 shell_code]# sh demo3.sh 1 2 3 4 5 65 6 7 8 8 9
运行的文件名为:demo3.sh
传递的第1个参数为:1 
传递的第2个参数为:2 
传递的第3个参数为:3 
传递的第4个参数为:4 
传递的第5个参数为:5 
传递的第6个参数为:65 
传递的第7个参数为:6 
传递的第8个参数为:7 
传递的第9个参数为:8 
传递的第10个参数为:8 
传递的第11个参数为:9 
1 2 3 4 5 65 6 7 8 8 9
1 2 3 4 5 65 6 7 8 8 9
11

 

参数处理说明:一般只用 $# $@ $*

 

三、字符串

1.字符串举例

#!/bin/shn=74
str1=www.aaa.com${n}
str2="shell \"script\" ${n}"  # 这里的"被\转义
str3='shell "script" $n'      # 单引号之内只存在字符串echo $n
echo $str1
echo $str2
echo $str3

输出:可以看到单引号引起来的${n} 没有被引用变量,而是直接输出,说明单引号引起来的内容只会被认定成字符串输出。

74
www.aaa.com74
shell "script" 74
shell "script" $n

 

2.统计字符串长度

#!/bin/shn=74
str1=www.aaa.com${n}
str2="shell \"script\" ${n}"  # 这里的"被\转义
str3='shell "script" $n'      # 单引号之内只存在字符串#统计字符串中字符的个数                    
echo ${#n}             
echo ${#str3}    # 单引号中空格和符号也算
echo ${#str1}    # 双引号中空格和符号都不算

输出:注意第二行与第三行的区别

2
17
13

 

3.字符串拼接

#!/bin/sh# 字符串的拼接
shell='shell'
url='www.baidu.com'
s1=${shell}${url}# 两个变量之间加空格 需要用引号引起来
s2=${shell} ${url}   # 会报错
s3="${shell} ${url}"
s4=${shell}":"${url}
s5=${shell}:${url}
echo $s1
echo $s2
echo $s3
echo $s4
echo $s5

输出:注意空格的输出,两个变量之间加空格,需要用引号引起来,否则会报错。

demo4.sh:行28: www.baidu.com: 未找到命令
shellwww.baidu.comshell www.baidu.com
shell:www.baidu.com
shell:www.baidu.com

 

4.截取字符串

#!/bin/sh# 截取字符串
url='https://blog.csdn.net/zhangfei5354/article/details/136298293'# 从指定位置开始截取 ${string:start:length}  无法间隔着截取
echo ${url:0:10}
echo ${url:1}      # 从起始位置开始截取全部 
echo ${url:20:50}  # 截取范围超过最大长度时 截取完就结束
echo ${url:0-5:10} # 从右边开始截取  但方向还是从左往右
echo "----------------------------"# 从指定字符开始截取 ${string#*chars}  截取右边的字符
echo ${url#*blog}   # 截取blog后面的内容
echo ${url#*/}      # 匹配第一个遇到的/
echo ${url##*/}     # 匹配最后一个/ 在这个字符串里也可以使用s/去精准匹配
echo "----------------------------"# 截取左边的字符 ${string%chars*}
echo ${url%zhangfei*} 
echo ${url%a*}         # 匹配最右边的a左边的内容
echo ${url%%a*}        # 匹配最左边的子串

输出:注意不同起始位置截取时写法的不同,以及截取左右方向的选择。

https://bl
ttps://blog.csdn.net/zhangfei5354/article/details/136298293
t/zhangfei5354/article/details/136298293
98293
----------------------------
.csdn.net/zhangfei5354/article/details/136298293
/blog.csdn.net/zhangfei5354/article/details/136298293
136298293
----------------------------
https://blog.csdn.net/
https://blog.csdn.net/zhangfei5354/article/det
https://blog.csdn.net/zh

截取操作汇总:

 

总结

Shell编程与python大同小异,与python对照着学习更容易理解。

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

相关文章:

  • 个人网站转企业wordpress 手机端 广告
  • 检测网站的seo效果厦门建设集团网站
  • 资阳建设网站网上互联网推广
  • 网站增加栏目后面要怎么做汉中建设网站
  • .net网站开发工程师深圳市中医院
  • 济南建网站公阿里云的虚拟云主机搭建WordPress
  • 淄博学校网站建设公司佛山网站建设科技有限公司
  • 最好的网站服务器阳曲网站建设推荐咨询
  • 谢岗网站建设公司简述网站开发的具体流程
  • 自己做采集电影网站百度客户电话
  • 广告设计与制作专业能考二建吗seo关键词推广方式
  • 乡村振兴网站建设成都广告公司地址电话
  • 网站诊断书怎么做本地wordpress 慢
  • 网站建设的技术要求彩票网站开发租用
  • 网站开发相关期刊wordpress没有找到站点
  • 南平建设局网站查淘宝关键词排名软件有哪些
  • 谷歌英文网站推广昆明搜索引擎推广
  • 做网站 建站wordpress 添加编辑
  • 外贸网站建设费用网站查不到备案
  • 做网站 做应用网站备案没通过
  • 南通网站建设中国制造网外贸平台网址
  • 那个网站有用director做的片头云南网站seo服务
  • 湛江企业网站seowordpress 免费主题推荐
  • 网站论文参考文献百度seo排名点击器app
  • 临沂网站制作策划混合式教学财务管理网站建设
  • 哪些网站是用python做的西安注册公司代理
  • 一个空间两个php网站媒体网站推进信息化建设
  • 个人网站logo设计wordpress如果让菜单
  • 饿了么企业网站在演示文稿上网站怎么做
  • seo和sem分别是什么广州seo网站推广平台