好不容易有时间学习linux,今天在公司弄个脚本,让它自动对我们的工程文件编译,而不需要我们自己手动去输入命令,特别是宏开关,因为客户之多,宏开关也就多,我们老大国庆前跟我说有时间好好研究下脚本,并给我一个范本,呵呵,今天下午特地跑到公司来研究研究,呵呵,还真碰到一些问题: 1. 如何比较两个字符串相等;举例: if [ "$test"x = "test"x ]; then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator expected 2. $1...表示什么;举例: 先做一个shell: w2.sh 3. 如何打开文件中的宏,举例: 比如我要打开test.h中的宏 #define __TEST__ TestStrings="__TEST__" PATH="test.h的目录" sed -ie "s/^\/\/${TestStrings}\s*/${TestStrings}/" $PATH/test.h 关闭test.h中的宏 #define __TEST__ sed -ie "s/^${TestStrings}\s*/\/\/${TestStrings}/" $PATH/test.h 注:必须加上i,否则它不会改变源文件的内容,只会把改变后的内容在终端中显示 |
文章评论(0条评论)
登录后参与讨论