当前位置:网站首页>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 0
1.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:后面可以接等待的秒数。
运行结果
边栏推荐
猜你喜欢
随机推荐
基于信号量与环形队列实现读写异步缓存队列
1005 继续(3n+1)猜想 (25 分)
Collections and Functions
MySQL全文索引
虚拟列表key复用问题
基本运算符
MySQL执行过程及执行顺序
分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测
技术分享 | 如何模拟真实使用场景?mock 技术来帮你
【 size_t is unsigned integer (1 > 10) - > 1.
Qt 国际化翻译
【八大排序④】归并排序、不基于比较的排序(计数排序、基数排序、桶排序)
10000以内素数表(代码块)
antd表单
拿下跨界C1轮投资,本土Tier 1高阶智能驾驶系统迅速“出圈”
EndNoteX9 OR X 20 Guide
conditional control statement
RTP
上传张最近做的E2用的xmms的界面的截图
3D打印了这个杜邦线理线神器,从此桌面再也不乱了