前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分享Shell脚本几个简单字符及字符串应用实例

分享Shell脚本几个简单字符及字符串应用实例

作者头像
吴柯
发布2018-04-16 14:26:44
6890
发布2018-04-16 14:26:44
举报

shell脚本中,在一行输入多个命令时:

A;B;C   #执行A;执行B;执行C

A&&B   #执行A,仅当A成功,才执行B

A||B #执行A,仅当A失败,才执行B

#id tim &>/dev/null && echo "hi,tim" || echo "no such user"

#id tim执行成功,则用户存在,显示hi,tim,否则显示no such user

脚本1:编辑脚本test1.sh,执行脚步可新增用户和密码,设置密码时不显示。

#!/bin/bash read -p "请输入用户名:" user stty -echo read -p "请输入密码:" pass stty echo [ -z $user ] && echo "需要输入" && exit [ -z $pass ] && exit useradd $user echo "$pass" | passwd --stdin $user

备注:

read #输入

stty -echo #输入命令时不回显

stty echo #回显

[ -z $abc1 ] #测试abc1是否为空

脚本2

#!/bin/bash read -p "随机说一个数字:" cai s=$[RONDOM%10] if [ $cai -eq $s ]  then echo "你猜对了" elif [ $cai -gt $s ]  then echo "太大了" else echo "太小了" fi

脚本3:新增用户,不输入密码默认初始密码为123456

备注:1.[ -z $user ] && exit #用户为空时退出

2.pass=${pass:-123456} #pass有值则为自己的值,pass无值则为123456

脚本4:修改文件名,将后缀.txt改为.doc

扩展:将文件后缀名任意更改,创建脚本test2.sh

或者

#./test2.sh $1 $2

比如:#./test2.sh jpg png

脚本5:提示用户输入一个整数x,如果没有输入,默认为100,脚本自动计算1到x所有数的和。

脚本6:批量远程连接时,不出现交互(自动输入密码,yes等)

备注:1.安装expect

2.expect <<EOF期待非交互格式,EOF结束

3.expect最后一行代码,不执行

expect常见问题:

1.如果ssh反应慢,执行失败

解决:a.修改配置文件#vim /etc/ssh/sshd_config

UseDNS no

#systemctl restart sshd

b.脚本中写入set timeout 300   #设置延迟时间

2.有些有yes,有些没有

rm -rf .sh/known_hosts

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吴柯的运维笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档