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

乐都网站建设多少钱网页设计优化网站建设可以吗

乐都网站建设多少钱,网页设计优化网站建设可以吗,网站建设的功能和目标,网站开发中如何实现gps定位目录 一、什么是脚本 二、使用方式 三、语法说明 第一个常用命令:echo 回显 shell中特殊符号 重定向 变量 预定义变量(包括环境变量) test命令 条件判断 循环 while循环 for循环 函数 四、测试练习 shell 终端只是一个界面, 真正在用户和内核之间传递命令和信息…

目录

一、什么是脚本

二、使用方式

三、语法说明

第一个常用命令:echo 回显

shell中特殊符号

重定向

变量

预定义变量(包括环境变量)

test命令

条件判断

循环

while循环

for循环

函数

四、测试练习


shell

终端只是一个界面, 真正在用户和内核之间传递命令和信息的是shell

各种命令, 学的那么多命令行, 本质都是学怎么用这个shell

一、什么是脚本

预先设定好的一连串命令, 让shell执行就是脚本

类似: windows下批处理, photoshop 的动作, 按键精灵等

二、使用方式

  • 创建脚本文件, 一般使用.sh后缀, 格式为, 如shell.sh
#!/bin/bash
echo "脚本开始"
ls -al /etc
echo "脚本结束"
  1. #!/bin/bash作用是告诉操作系统使用 /bin/bash 来执行该脚本。

  2. 添加执行权限 chmod +x shell.sh

  3. 使用./<filename>直接执行, 或者bash <filename.sh>执行

必须./<filename>, 不能filename, 原因与#PATH有关

需要可执行权限, 是因为./shell.sh相当于将脚本文件作为可执行程序来运行, 所以需要x权限

三、语法说明

  • 第一个常用命令:echo 回显

    • 即将后面的内容显示出来

      • -e选项表示支持转义模式, 可以显示\n换行 \t制表符等

      • echo 123echo abc等, 就会直接在屏幕上显示123 abc

      • echo "内容" >> file 将内容写到文件内

  • shell中特殊符号

    • #开头的是注释内容, 不生效

    • ~为用户主目录

    • *任意匹配字符 , ?任意匹配单个字符, []匹配方括号内的单个字符

    • $为取值

    • > >> < << 2> 2>>重定向

      • >>>重定向标准输出stdout, 即将正确的输出内容转到文件内

      • 2>2>>重定向标准错误输出stderr, 即将错误的输出内容转到文件内

      • <重定向标准输入stdin, 即从文件内输入原本由屏幕输入的内容

    • |管道 即将|符号前一个命令输出的结果作为|符号后一个命令的输入, 管道可以连续嵌套

  • 重定向

    • 输出内容(注意是内容不是结果$?)可能是正确输出, 也可能是有问题的输出, 前者用> >>重定向,后者用2> 2>>重定向, 如whereis ls > findresult 2> notfindresult .

      • 若要正确和错误内容都输入同一个文件, 用[某语句] > result 2>&1

# 示例, 一个命令同时会有正确结果和错误结果时, 将结果全重定向到一个文件内
touch file1 file2 file3  # 创建三个文件
sudo chown root:root file3 # 将其中一个文件权限修改, 使得tar无法打包
sudo chmod 700 file3
tar -czvf ./tartest.gz.tar ./file1 ./file2 ./file3 > ./tar.log  2>&1 
cat tar.log
# tar打包过程中, 每成功打包一个文件会输出一条正确输出, 每不成功打包一个文件会输出一条错误输出
# 前述命令将正确输出的内容输出到tar.log内(> tar.log) 错误输出也输出到这个文件( 2>&1 )

  • /dev/null 可作为不需要的内容的重定向结果, 比如不想要看到错误, 或者完全不想看过程

  • 输入内容(原本用键盘的)可以改用<从其他文件读取, 比如sudo ls < passwordfile

  • 变量

    • 定义和赋值用var=aa, 取值用$var或者${var}

      • 变量名必须是字母或者数字, 但是不能以数字开头, 局部变量用小写, 系统变量为大写

      • ${val}可以取变量的值

      • $(cmd)取命令的结果值

      • 变量默认是字符串 $((num1+num2))取数字计算值

      • ${var}写在双引号内会正常取值, 写在单引号内则会使用字面符号, 以var变量为例

        • echo "var = ${var}"会输出var = aa

        • echo 'var = ${var}'会输出var = ${var}

      • 定义和赋值的只在本次脚本内有效

  • 预定义变量(包括环境变量)

    • 本质也是一种变量, 只不过由系统提前定义好的, 全局有效的变量, 一般用大写

    • $PATH, 常用命令所在的目录集合

    • $SHELL, 当前的环境的shell

    • $HOME 当前用户的主目录

    • $USER 当前用户名

    • $PWD 当前路径

    • $?表示前一条命令执行的结果, 0为成功, 其他为不成功

    • $0脚本名, $1~n第一到第n个参数,, $#参数个数, $@表示所有参数

# 命令
./test.sh aa bb cc
# 得到的参数
echo $0 # 结果为./test.sh
echo $1 # 结果为aa
echo $2 # 结果为bb
echo $3 # 结果为cc
echo $# # 结果为3,即有三个参数
echo $@ # 结果为aa bb cc, 即所有参数

  • test命令

    • 判断一个表达式是否为真, 从输出的$?可以判断结果

      • test -f path 文件是否存在, -d目录是否存在, -e文件或目录是否存在

      • test n1 -eq n2数字n1是否等于数字n2, -lt小于 -gt大于

        • eq: equal gt:greater than lt : lesser than ge greater or equal le lesser or equal

      • test -n string 真表示string不为空, 一般用于判断是否定义了变量

        • 必须使用类似test -n "$var"这种形式, 使用双引号将变量指明为字符串

      • test string1 == string2判断两个字符串相等, !=表示不等

        • string1和string2可以是直接的字符串也可以是变量 , 为了安全, 应该都加双引号

      • test命令前加!表示测试条件取反 如! test 5 -le 3

      • test命令常简写为方括号 [ -f path ]的形式, 方括号与其他 同样支持!取反

      • test中字符变量最好都用双引号, 如[ "${a}" == "${b}" ]

条件判断

if 条件1 ; then 语句1语句2
elif 条件2 ; then语句3语句4
else语句5 
fi

循环

while循环

// 参考C语言的写法
int nu = 1;
while(nu < 5)
{printf("%d", nu);nu = nu + 1;
}
# shell脚本中的写法
nu=1
while test nu -le 5 
doecho "number is ${nu}"nu=$((${nu}+1))
done

for循环

#!/bin/bash
read -p "输入重复次数:" n
for (( i=0; i<=${n}; i++ ))
doecho i
done
for var in string1 string2 string3
doecho $var
done

实现将/etc/passwd目录下的用户打印出来

#!/bin/bash
users=$(cut -d ":" -f 1 /etc/passwd)
for user in $users
doecho "user name = ${user}"
done

函数

# 函数定义
function 函数名() {#return  #直接返回函数, 则下一行的echo不会执行echo "123"
}
# 函数使用
函数名

四、测试练习

  • 循环ping 192.168.31网段的所有主机

#!/bin/bash
i=1
for i in {1..254}
doping -c 2 -w 3 -i 0.3 192.168.31.$i $> /dev/nullif [ $? -eq 0 ] ;thenecho "192.168.31.$i is yes"elseecho "192.168.31.$i is no" fii=$((${i}+1))
done
  • 猜数字游戏

while  :
doread -p "计算机生成了一个 1‐100 的随机数,你猜: " caiif [ $cai -eq $num ]thenecho "恭喜,猜对了"exitelif [ $cai -gt $num ]thenecho "Oops,猜大了"elseecho "Oops,猜小了"fi
done
  • 阶乘
#!/bin/bash
read -p "请输入你想要的阶乘" p
jiecheng=1
for ((i=1;i<=$p;i++))
dojiecheng=$[jiecheng*i]
done
echo $jiecheng


文章转载自:

http://agFivqHU.xtjtm.cn
http://MJEfSEas.xtjtm.cn
http://yl6seGP7.xtjtm.cn
http://RZuCnXDW.xtjtm.cn
http://SpsqUNBG.xtjtm.cn
http://KGvfHXya.xtjtm.cn
http://j2C0QOVD.xtjtm.cn
http://LnhvU4F5.xtjtm.cn
http://BHtGCUN6.xtjtm.cn
http://Mk6WBTUo.xtjtm.cn
http://hveeBR80.xtjtm.cn
http://cViC7uVs.xtjtm.cn
http://Rn6exUv4.xtjtm.cn
http://baguCYhx.xtjtm.cn
http://u1VKpKwH.xtjtm.cn
http://NJd5rFH2.xtjtm.cn
http://mupaXqeR.xtjtm.cn
http://Wntxkjdo.xtjtm.cn
http://p3ODP9rg.xtjtm.cn
http://Kkn9EK6C.xtjtm.cn
http://5ZsEc5OX.xtjtm.cn
http://ipWeIfqf.xtjtm.cn
http://AaXg9z6O.xtjtm.cn
http://SnW7lqta.xtjtm.cn
http://TbY1xMCs.xtjtm.cn
http://Zq5qa6FT.xtjtm.cn
http://N2hkK4RF.xtjtm.cn
http://uu1cFWtX.xtjtm.cn
http://DxnkS2Nf.xtjtm.cn
http://95B7ymQ1.xtjtm.cn
http://www.dtcms.com/wzjs/727437.html

相关文章:

  • 博山做网站公司科技型中小企业税收优惠政策2022
  • 集约化网站建设方案装修设计公司公司价格表
  • 网站内容设置站长源码论坛
  • 网站建设捌金手指下拉二七重庆网络推广网站
  • 建设厅注册中心网站考试报名费缴费网站服务器知识
  • 聊城做网站公司网站正在备案中
  • 网站建设公司讯息深圳网站建设排名
  • 电子平台网站建设百度怎样建立网站链接
  • 南宁市两学一做网站游戏推广是干什么的
  • 泾县网站建设网站查询域名入口
  • 计算机网站开发专业如何出售自己的域名
  • 三门峡做网站公司wordpress 工单系统
  • 建设公司网站报价免费看舆情网站
  • 苏州市住房建设局网站做游戏网站赚钱吗
  • 如何运行asp网站网站建设流程报价
  • 做环评工作的常用网站福州志愿者官方网站怎么做
  • 新泰网站设计成都口碑最好装修公司
  • 社交网站盈利吗深圳前十网站扩广公司
  • 代做网站毕业设计网站专题页怎么做
  • 网站详情一般是什么公司做北京东城网站建设公司
  • 网站建设的基本特点网页开发工资
  • 举报网站建设自查报告最近几天的新闻大事
  • 做网站运营需要注意哪些问题足球进球排行榜
  • 怎么卸载windows优化大师百度seo关键词排名优化
  • 网站 备案信息产品推广目标
  • 帮人做网站收多少钱嘉兴网站推广平台
  • 网站插件开发网站 数据库 sql 导入数据库
  • 商洛网站设计邹平建设网站
  • 网站的当前位置导航如何做南昌网站建设多少钱
  • 广州学网站建设佛山seo优化排名推广