深入探索Shell编程:从电话簿程序到交互式特性
电话簿程序的操作流程与实现
在处理电话簿文件时,有一系列特定的操作流程。首先,为了避免用户在编辑器中按下删除键导致程序终止,系统会忽略删除键产生的信号。之后,会启动编辑器,让用户对电话簿条目进行必要的修改。
修改完成后,程序会使用grep命令从电话簿文件中移除旧的条目。接着,将修改后的条目转换回以^作为字段分隔符的格式,并追加到文件末尾。为确保新条目后有换行符,可使用无参数的echo命令添加一个额外的换行符。最后,对电话簿文件进行排序,并删除临时文件。
以下是用于列出电话簿所有条目的listall程序代码:
listall # # list all of the entries in the phone book # IFS='^' # to be used in set command below echo "-----------------------------------------------------" while read line do # # Get the first and last fields, presumably names and numbers # set $line # # display 1st and last fields (in reverse order!) # eval printf