当前位置:网站首页>shell脚本实战(第2版)/人民邮电出版社 脚本2 验证输入:仅限字母和数字
shell脚本实战(第2版)/人民邮电出版社 脚本2 验证输入:仅限字母和数字
2022-08-09 10:26:00 【玛丽苏打肉饼】
validalphanum()
{
validchars="$(echo $1 | sed -e 's/[^[:alnum:]]//g')" #1
if [ "$validchars" = "$1" ];then
return 0
else
return 1
fi
}
read -p "Enter input: " input #2
if ! validalphanum "$input" ; then
echo "your input must consist only letters and numbers."
exit 1
else
echo "input is valid"
fi
exit 01.shell 脚本sed工具
sed本身也是管道命令,可以分析标准输入。而sed还可以将数据进行替换,删除,新增,选择特定行等功能。
[[email protected] ~] sed [-nefr] [操作] 文件名选项与参数:
- -n:一般 sed 命令会把所有数据都输出到屏幕上。如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕上;
- -e: 允许对输入数据应用多条 sed 命令编辑;
- -f 脚本文件名:从 sed 脚本中读入 sed 操作。和 awk 命令的 -f 选项非常类似;
- -r:在 sed 中支持扩展正则表达式;
- -i:用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出动作
操作:n1,n2 function
- a :追加,在当前行后添加一行或多行。
- c :行替换,用c后面的字符串替换原数据行。
- i :插入,在当前行前插入一行或多行。
- d:删除,删除指定的行;
- P:打印,输出指定的行;
- s:字符串替换,用一个字符串替换另一个字符串。格式为“行范围s/旧字串/新字串/g”(和Vim中的替换格式类似);
2.变量键盘读取
$read [-pt] variable选项与参数:
-p:后面可以接提示字符
-t:后面可以接等待的秒数。
运行结果

边栏推荐
猜你喜欢
随机推荐
[ASM] Bytecode operation MethodVisitor case combat generation object
基于信号量与环形队列实现读写异步缓存队列
元组 字典 集合
Technology Sharing | How to simulate real usage scenarios?mock technology to help you
主从postition变化无法锁定_Slave_IO_Running显示No_Slave_Sql_Running显示No---Mysql主从复制同步002
2022强网杯WP
常用语言图表库总结
Qt 国际化翻译
京东物流与五菱将开发联名版定制产品
Win7 远程桌面限制IP
实验室装修及改造工程程序简介
判断一段文字的width
上传张最近做的E2用的xmms的界面的截图
Nodejs服务端
实现下拉加载更多
KeyBERT和labse提取字符串中的关键词
Loop nesting and basic operations on lists
Tom Morgan | Twenty-One Rules of Life
使用cpolar远程连接群晖NAS(创建临时链接)
OpengGL绘制立方体的三种方法








![[贴装专题] 基于多目视觉的手眼标定](/img/10/8303854fbba5d9b06032e38e9df233.png)