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

门户网站名词解释武汉网站竞价推广

门户网站名词解释,武汉网站竞价推广,各地残疾人联合会网站建设,深圳做微信网站设计1.shell条件测试 1.1命令执行结果判定 &&在命令执行后如果没有任何报错时会执行符号后面的动作 ||在命令执行后如果命令有报错会执行符号后的动作 ping -c1 -w1 $* &> /dev/null && {echo -e "$* is up" }||{echo -e "$* is done&qu…

1.shell条件测试

1.1命令执行结果判定

&&在命令执行后如果没有任何报错时会执行符号后面的动作

||在命令执行后如果命令有报错会执行符号后的动作

ping -c1 -w1 $* &> /dev/null && {echo -e "$* is up"
}||{echo -e "$* is done"
}

对命令执行结果的判定

脚本练习:检查用户是否存在,如果不存在就创建它,并且将密码设置为用户名

id $1 &> /dev/null &&{echo $1 is exist
}||{echo $1 is not existuseradd $1echo $1 | passwd --stdin $1 &> /dev/null && echo $1 is created
}

1.2条件判定方法

脚本后的字符个数为$#

test = [],扩展的表达式要用[[ ]]括起来

[root@node ~]# [[ $a =~ 1|2 ]] && echo yes || echo no

判断a是不是在0-10之间

[root@node ~]# (($a<10&&$a>0)) && echo yes || echo no

(( ))只适用于整数

1.3文件判断表达式

-a/-e 文件是否存在 -L 软连接 -r 读权限

-b 扩展设备 -d 目录 -w 写权限

-c 字符设备 -f 普通目录 -x执行权限

-s 大s套接字小s文件大小不为零

-u 设置了特殊权限的suid

[root@node ~]# [ -e "/mnt/file" ]&& echo yes || echo no

脚本练习:脚本后写一个文件名称,如果存在输出文件的类型,如果不存在则输出文件不存在

[ -e "$1" ] || {echo $1 is not existexit
}
[ -L "$1" ] &&{echo $1 is link file
}
[ -f "$1" ] &&{echo $1 is common fileexit
}
[ -d "$1" ] &&{echo $1 is dir file
}
​

1.4字符串测试表达式

[root@node ~]# [ -z "$c" ] && echo yes || echo no

[root@node ~]# [ -n "$c" ] && echo yes || echo no

-n 判定是否不为空

-z 判定是否为空

= !=

测试字符串

1.5整数测试表达式

-eq ==或= -ge >=

-ne != -le <=

-gt > -lt <

[root@node ~]# [ "$a" -lt "1" ] && echo yes || echo no

[root@node ~]# [ "$a" -gt "1" ] && echo yes || echo no

[root@node ~]# [ "$a" -ge "1" ] && echo yes || echo no

[root@node ~]# [ "$a" -le "1" ] && echo yes || echo no

[root@node ~]# [ "$a" -eq "1" ] && echo yes || echo no

[root@node ~]# [ "$a" -ne "1" ] && echo yes || echo no

man test(查看帮助)

1.6判定中的逻辑操作符

[root@node ~]# [[ "$a" -gt 0 ]]&&[[ "$a" -lt "10" ]] && echo yes || echo no yes

[root@node ~]# (( "$a">0 && "$a"<10 )) && echo yes || echo no yes

[root@node ~]# [ "$a" -gt 0 -a "$a" -lt "10" ] && echo yes || echo no yes

[root@node ~]# test "$a" -gt 0 -a "$a" -lt "10" && echo yes || echo no yes

[root@node ~]# [ ! "$a" -lt "0" ] && echo yes || echo no yes(条件反选)

2.shell脚本中的运行流程控制

1.1if判定语句

脚本默认的程序执行方式是自上而下的

if单分支结构

if [ "$USER" = "root" ]
thenecho supper user
fi

if双分支结构

if [ "$1" = "root" ]
thenecho supper user
elif [ -z "$1" ]
thenecho pleas input username
elseecho unknow error
fi

练习:if脚本代码

read -p "please input username: " USERNAME
read -p "what do you want [D]elete or [C]create:" ACTION
​
if [[ -z "$USERNAME" ]]
thenecho error: please input usernameexit
elif [[ ! "$USER" = "root" ]]
thenecho  "error: please run $0 with root"
elif [[ "$ACTION" =~ d|D  ]]
then
​if id $USERNAME &> /dev/nullthenuserdel -r $USERNAMEecho $USERNAME is deletedelseecho $USERNAME is not exist fi
​
elif [[ "$ACTION" =~ C|c ]]
then
​if id $USERNAME &> /dev/nullthenecho $USERNAME is existelseread -p "please input password:" PASSuseradd $USERNAMEecho $PASS | passwd --stdin $USERNAME &> /dev/nullfi
​
elseecho "error: please input C|D for action!!"
fi
​

2.2shell脚本中的选择判断(case语句)

用if做判断选择执行效率低,则需要使用case语句

case $1 inlinux|Linux|LINUX)           一个“)”是一个按钮echo zee;;zee)echo linux;;*) 其他和*都匹配echo error
esac
​

case可以解决恰巧在最后,执行效率会比较低的问题

  • case $1 in

  • echo liux

  • case $1 in

  • echo zee

  • '[' linux = linux ']'

  • echo zee

  • '[' zee = linux ']'

  • '[' zee = zee ']'

  • echo linux

2.3脚本中的循环语句

2.3.1无条件for循环

1.罗列变量的写法

for USERNAME in test1 test2 test3
doecho $USERNAME
done

2.连续选择的写法

for USERNAME in {1..10}
doecho $USERNAME
done
​

3.用命令的执行结果充当变量的值(反引号提取执行的结果)

一次执行一个

for USERNAME in `ls /root`
doecho $USERNAME
done
​

4.用seq

for USERNAME in `seq 1 2 10`
doecho $USERNAME
done

5.用运算的方式

for ((USERNAME=1;USERNAME<=10;USERNAME++))
doecho $USERNAME
done
2.3.2有条件的循环while

条件成立

while [ "$1" = "go" ]    while [ "1" = "1"](直接执行)  while [ "$1" = "start" ] (有动作的执行)
dofor N in {1..10}doecho $Ndone
done

条件不成立用until

until [ "$1" = "go" ]
dofor N in {1..10}doecho $Ndone
done

示例

while [ "$1" = "go" ]
doclear (清空屏幕)ls -l /rootsleep 1 (等1秒)
done

练习:1分10秒倒计时

echo -ne (不换行 \生效)

[ -a ]并且

SEC=10
MIN=1
SECS=$[ $MIN*60+$SEC]
for ((;SECS>0;SECS--))
dosec=$[$SECS%60]min=$[$SECS/60]echo -ne "after $min:$sec is end"echo -ne "\r"sleep 1
done

2.4循环中的控制器

1.exit

for n in {1..10}
doif [ "$n" -eq "4" ]thenecho luckexit (退出脚本)fiecho $n
done

2.break

for n in {1..10}
doif [ "$n" -eq "4" ]thenecho luckbreak(退出循环)fiecho $n
done

3.continue

for n in {1..10}
doif [ "$n" -eq "4" ]thenecho luckcontinue(下面放弃掉,提前进入下一次循环)fiecho $n
done

4.return

FOR()
{
for n in {1..10}
doif [ "$n" -eq "4" ]thenecho luckreturn(退出函数fiecho $n
done
}
FOR

2.5自动应答

如果我们想要依照问题的内容回答问题需要借助软件expect(一种环境)

[root@node mnt]# dnf install expect -y 下载软件

[root@node mnt]# vim answer.exp

#!/usr/bin/expect
spawn /mnt/ask.sh #spawn监控ask.sh
expect {"name" { send "zee\r";exp_continue }"old" { send "18\r";exp_continue }"subject" { send "linux\r";exp_continue }"happy" { send "happy\r" }
}
expect eof  #应答完毕后退出
interact #保留当前的绘画环境

[root@node mnt]# expect answer.exp

shell版本

#!/bin/bash
/usr/bin/expect <<EOF
spawn /mnt/ask.sh    将spawn写入expect执行
expect {"name" { send "zee\r";exp_continue }"old" { send "18\r";exp_continue }"subject" { send "linux\r";exp_continue }"happy" { send "happy\r" }
}
expect eof
EOF

函数的调用

AUTO_ANSWER()
{
/usr/bin/expect <<EOF
spawn /mnt/ask.sh    将spawn写入expect执行
expect {"name" { send "$1\r";exp_continue }"old" { send "$2\r";exp_continue }"subject" { send "$3\r";exp_continue }"happy" { send "$4\r" }
}
expect eof
EOF
}
AUTO_ANSWER zee 18 linux happy

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

相关文章:

  • 怎么用ps做网站效果图软文街官方网站
  • WordPress 微信小程序登录seo点击排名工具
  • 景观做文本常用的网站东莞优化疫情防控措施
  • 新吴区推荐做网站公司百度app免费下载安装
  • 做电影网站需要注意什么手机系统优化软件哪个好
  • 哪个网站可以做临时工刷赞业务推广网站
  • 姓氏头像在线制作免费生成图片seo智能优化
  • 做直播网站要多大带宽站长之家
  • 深圳罗湖区网站开发公司汕头百度推广公司
  • 什么网站可以找人做软件下载微营销软件
  • 社交网站建设公司seo网站地图
  • wordpress 大前端2.0windows优化大师可以卸载吗
  • 品牌策划推广方案seo快速排名工具
  • 如何安装网站好消息疫情要结束了
  • 重庆网站界面设计指数基金什么意思
  • 游戏源码 wordpress上海seo网络优化
  • 网站推广多少钱seo优化方案模板
  • 吧网站做软件的软件seo一键优化
  • 免费做效果图网站网络营销平台都有哪些
  • wordpress修改了链接方式无法访问酒泉网站seo
  • 纯php网站找网站公司制作网站
  • 个体工商户经营范围网站开发html网页制作网站
  • 好看的企业门户网站推广标题怎么写
  • 网站如何做压力测试搜索排名优化策划
  • 武汉建管站百度竞价外包
  • 定西兰州网站建设线上推广渠道有哪些
  • 签证中心网站建设2023上海又出现疫情了
  • iis网站启动不了百度搜题在线使用
  • 怎么更改网站栏目id百度霸屏推广一般多少钱
  • 2023福建新一轮疫情百度推广关键词优化