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

宿迁网站建设报价godaddy 上传网站

宿迁网站建设报价,godaddy 上传网站,重庆seo快速优化,wordpress中文版安装教程 pdf文章目录 输入输出赋值和计算条件判断函数for 循环数组及其遍历其他控制语句 输入输出 echo表示打印字符串;read表示获取用户输入;$用于引用变量。 # test1.sh bash中用#进行单行注释 echo "input your name:" read user_name echo "h…

文章目录

    • 输入输出
    • 赋值和计算
    • 条件判断
    • 函数
    • for 循环
    • 数组及其遍历
    • 其他控制语句

输入输出

echo表示打印字符串;read表示获取用户输入;$用于引用变量。

# test1.sh  bash中用#进行单行注释
echo "input your name:"
read user_name
echo "hello $user_name"

其运行结果为

$ bash test1.sh 
input your name:    #为echo打印
laser               #为用户输入
hello laser

赋值和计算

bash中的运算符并没有什么特殊的,

运算符说明
+-×/,%加减乘除,求余;支持+=形式
**&&||乘方、关系与、或

但是,与常见编程语言不同的是,bash中的赋值和数学计算需要在(())中进行。且在双括号内,不必使用$来引用变量。但在双括号外,在将数值赋给变量时需要使用$

$ ((a=5+3))
$ b = $((a+3))        #双括号内是数值,需要用$
#一般在C语言中合法的表达式均可用于双括号内
$ echo $((a>b ? a:b))
11

条件判断

bash中,条件判断通过[[]]来实现。例如

$ [[ 3 -eq 5 ]] #3是否等于5
$ echo $?       #$? 表示上次计算的结果
1               #在bash中,0表示真,其他表示假

需要注意,在bash中,0表示真。其支持的条件判断运算符如下

整数比较-eq-ne-gt-lt-ge-le
true条件相等不等左>右左<右左>=右左<=右
字符串比较><==!=, <>=~
true条件左>右左<右相等不等左匹配右(正则表达式)

其中,字符串比较的是字典顺序。

文件比较-nt-ot-ef
true条件左比右新左比右旧左右相同
true条件2左存在,右不存在左不存在,右存在

此外,bash还支持文件属性的判断,就操作系统而言,这是必须的。但就编程语言而言,这种针对文件交互的功能属于进阶内容,故而放在后面。

现在关键是学会条件判断的控制结构,bash和其他语言一样,采用了if作为关键字,同时采用fi作为条件结构结束的关键字。距离如下

$ ((a=15))
$ ((b=20))
$ if [[ a -le b ]]; then
> echo $a   #如果a<b则打印a
> else
> echo $b   #否则打印b
> fi
15

除了使用[[]]之外,还可通过test或者[],但适用范围有限,初学者只需掌握[[]]

函数

在编程语言中,函数的重要性是不言而喻的。在bash中,创建函数也十分简单,基本格式为

func(){# 传入参数用$1...$9表示return ...  #如果无返回值则不用return
}

其中func可换成函数的名称。在bash中,提供了一些有关函数的内置$参量,$1~$9可表示传入的参数,当参数位置大于10的时候,需写成类似${10}的形式。

由于已经讲解了判断表达式,故而下面就可以实现一个递归的阶乘函数了

#!/bin/bash
fac(){x=$1if [[ ${x} -eq 1 ]];thenecho "1"elseecho "$[$x * $(fac $[$x-1])]"fi
}res=$(fac $1)
echo "$1的阶乘是:${res}"

$表达式还有如下用法

$#参数个数
$*显示所有参数
$@显示所有参数,但使用时加引号,并在引号中返回每个参数
$$脚本运行的当前进程ID号
$!后台运行的最后一个进程的ID号
$-显示Shell使用的当前选项,与set命令功能相同。
$?最后命令的退出状态,0表示无错误。

for 循环

在bash中,除了if else之外,还有case可用于条件选择。但对初学者而言,不必贪多,故而将学习case的优先级下调。

循环也是一样,尽管支持for、while、until等结构,但暂且放在后面,在此只需讲解最易理解的C语言风格的for循环。

其完整的结构是for do done

for ((i = 0 ; i <= 1000 ; i++)); doecho "Counter: $i"
done

其中,(())也可以理解为此前提到过的赋值与数学计算。而且不出意外地,bash中也同样支持continuebreak,前者可跳过当前的循环,后者可跳出循环。

bash中,其他循环结构同样是用do...done来规定循环区域。且当dofor等关键字在同一行时,需要用;隔开,如果另起一行,则不必写分号。

数组及其遍历

bash中,圆括号除了可以用于创建局部的shell,还可以用于构建数组。

$ arr=(A B "C" D)
$ echo $arr
A
$ echo ${arr[1]}
B
$ echo ${arr[*]}    #获取全部数组元素
A B C D

通过for…in语句,可以遍历数组,但需要注意,数组在被遍历时要通过@所以。

$ for var in "${arr[@]}"
> do
> echo $var
> done
A
B
C
D

此外,for循环还有更加便捷的遍历方案

$ for i in 1 2 3 4 5
> do
> echo $i
> done
1
2
3
4
5

其他控制语句

whileuntil在语法规则上是完全相同的,而在语义上则是完全相反的。前者执行到条件为false为止,后者则执行到条件为true为止。

a=0
# 下面的例子将打印从0到10的自然数
until [[ $a -gt 10 ]]doecho $aa=$((a+1))done

最后,bash还提供了多选语句,case…esac,其应用逻辑与switch case相同,具体示例如下

echo 'input a number:'
read num
case $num in1)  echo 'you input 1';;2)  echo 'you input 2';;*)  echo 'you input others';;
esac

其中,1), 2)表示出现的情况,;;相当于break,用以跳出case

至此便掌握了bash作为一门语言的基本语法。

http://www.yayakq.cn/news/656826/

相关文章:

  • 直播的网站开发网站开发维护印花税
  • 品牌建设网站服务网站架构软件
  • 高端网站制作技术上海家装口碑最好的公司
  • 胶州网站建设效果如何写一个自己的网站
  • 哪个网站可以做鸟瞰图网站规划管理系统
  • 阳谷企业做网站推广国外装修网站建设模板
  • 电商网站开发 参考文献网络营销推广工具有哪些?
  • 网站怎么建立视频经典网站案例
  • 电商网站开发制作广告联盟推广
  • 网站开发设计素材智慧团建app官网下载
  • 广州帮人网站建设沉默是金粤语谐音歌词
  • 光电工程东莞网站建设怎么做企业官方网站
  • 永康物流网站企业品牌网站建设注意事项
  • 班级网站开发与设计html编辑器安卓汉化版
  • 做网站包域名包服务器多少钱产品详情页模板免费
  • 如何找人帮我做网站推广wordpress 宽度
  • 重庆住房和城乡建设厅官方网站做的网站响应速度慢
  • 北京网站建设课程培训摄影网站开发
  • 免费建学校网站济南企业网站关键词推广
  • wordpress 文章归档seo软件工具
  • wap网站源代码中山市
  • 网站如何做关键词设计绘图软件
  • 网站排名优化外包公司专门设计网站的公司叫什么
  • 学院网站设计案例怎么做地区网站
  • 视频网站建设流程学网站开发推荐书
  • 广西高端网站建设公司网代理加盟
  • 上海网站工作室两个女孩子怎么做网站
  • 电子商务网站发展建设网站专题页面用什么做
  • 中山网站制作服务经销商自己做网站合适吗
  • 国内空间设计公司网络优化推广