语法"/>
shell编程中易犯错的简单语法
1. if test -f file; then..
fi
正确
if [ test -f file ]; then
..
fi 错误
2. test -f "$songs_file" ] && cat "$songs_file" 正确
[ test -f "$songs_file" ] && cat "$songs_file" 错误
[ -f "$songs_file" ] && cat "$songs_file" 正确
总结:if和[不能同时存在
3. grep 重定向输出到文件
grep -v "$name" $title_file > $title_file
grep -v "$name" $songs_file > $songs_file
即使上面的grep会有输出,查看文件$title_file和$songs_file,会发现其内容为空
正确的做法:
grep -v "$name" $title_file > tmpfile //先输出到临时文件
mv tmpfile $title_file //再进行重命名
grep -v "$name" $songs_file > tmpfile
mv tmpfile $songs_file
总结:绝不要在命令流中使用相同的文件名 P19《Linux程序设计》第四版 Neil Matthew,Richard Stones著
4. [ -f "$songs_file" ] 符号'['和']' 前后都要有空格,否则会有错
更多推荐
shell编程中易犯错的简单语法
发布评论