关于shell-----4
来源:互联网 发布:淘宝提现手续费是多少 编辑:程序博客网 时间:2024/06/13 14:39
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
#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来检查某个单词是否在词典中:
-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
#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)并且返回输出。
$ 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
工作原理
#!/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
#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 指定命令交互结束;
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[@]}
#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
- 关于shell-----4
- 关于shell
- 关于Shell
- 关于shell
- 关于shell
- 关于shell
- shell 关于&
- 关于shell
- 关于msn shell
- 关于shell和bash
- 初学shell,关于空格
- 关于linux shell
- 关于linux shell 编程
- 关于shell中的basename
- shell 中 关于 $
- 关于shell脚本学习
- 关于shell排序
- 关于shell的知识
- jquery DataTable
- HDU -1151 二分匹配与DAG图(最小覆盖路径)
- java timer
- 写好Java代码的30条经验总结
- #自动写剧本#深度网络结构
- 关于shell-----4
- Lua中的环境,模块和包的知识点简单记录
- linux环境mysql 数据库安装
- 数据库语句
- spring(注解方式)
- 理解Android图像处理-拍照、单/多图选择器及图像优化
- json web token的构成
- 行内盒子 上下居中的代码 vertical-align:middle;
- UCOSIII学习体会