关于shell-----4

linux词典:检测某个单词是否是词典的单词
#!/bin/bash
#name:checkword.sh
word=$1
grep "^$1$" /usr/share/dict/british-english -q
if [ $? -eq 0 ]; then
echo $word is a dictionary word;
else
echo $ is not a dictionary word;
fi
脚本的使用方式:./check word.sh word
在grep中。^标记着单词的开始,$标记着单词的结束
-q 禁止产生任何输出
另外我们也可以使用拼写检查命令aspell来检查某个单词是否在词典中:
#!/bin/bash
#nane:aspellcheck.sh
word=$1
output=`echo \"$word\" | aspell list`
if [-z $output];then
echo $word is a dictionary word;
else
echo $word is not a dictionary word;
fi
-z 是用来却动$output是否为空
列出文件中以特定单词起头的所有单词;
$ look word filepath
或者使用
$grep "^word" filepath
默认情况下,如果没有给出文件参数,look命令会使用默认词典(/usr/share/dict/words)并且返回输出。
交互输入自动化
工作原理
#!/bin/bash
#name:interactive.sh
read -p "Enter number:" no;
read -p "Enter name:" name;
echo You have enter $no, $name
就可以完成一个简单的交互了
使用expect来完成交互
#!/bin/bash
#name:automate_expect.sh
spawn ./interactive.sh
expect "Enter number:"
send "1\n"
expect "Enter name:"
send "hello\n"
expect eof
在这个脚本中:
spawn 参数指定需要自动化哪一个命令;
expect参数提供需要等待的消息;
send是要发送的消息;
expect eof 指定命令交互结束;
利用并行进程加速命令执行
#!/bin/bash
#name:generate_checksums.sh
PIDARRAY=()
for file in File1.iso File2.iso
do
md5sum $file &
 PIDARRAY+=("$!")
done
wait ${PIDARRAY[@]}
工作原理:&这个操作符会让shell置于后台运行脚本,这意味着一旦循环结束,脚本就会退出,而md5sum命令仍在后台运行,为了避免这种情况,我们使用$!来获取进程PID,在base中,$!保存着最近一个后台进程的PID。我们将这些PID放入PID数组,然后使用wait命令等待这些进程结束。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值