高级练习
9. 需要修改哪些行才能使Bourne Again Shell脚本command_menu(参见第11.1.9节)转换成TC Shell脚本?请进行修改并验证新脚本能否运行。
10. 用户经常发现命令rm(甚至是rm -i)是不能恢复的,这是因为它不能恢复被它删除的文件。创建一个名为delete的别名,将其参数所指定的文件移动到~/.trash目录中。再创建一个名为undelete的别名,将文件从~/.trash目录移动到工作目录。将下面的这行代码放到用户的~/.logout文件中,以移除在登录会话期间删除的文件:
/bin/rm –f $home/.trash/* >& /dev/null
而如果在~/.logout文件中放入的是下面这行代码,请解释有何不同。
rm $HOME/.trash/*
11. 修改foreach_1脚本(参见第9.7.5节),使其将命令作为参数传给exec。
12. 重新编写while_1脚本(参见第9.7.6节),使其运行得更加快速。使用time内置命令验证运行时间上的提高。
13. 编写名为myfind的新版find,将输出写入到文件findout中,但是不要将错误消息写入到该文件中,例如用户没有某个目录的搜索权限时产生的错误消息。myfind应该接受与find相同的选项和参数。用户能够考虑到在什么条件下myfind不能像期望中的那样运行吗?
14. 如果foreach_1脚本(参见第9.7.5节)的参数个数等于或少于20,那么紧接着toomany:的命令为什么未被执行?






