1.printf的使用
printf的转义序列
序列 | 说明 |
---|---|
\a | 警告字符,通常为ASCII的BEL字符 |
\b | 后退 |
\c | 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略 |
\f | 换页(formfeed) |
\n | 换行 |
\r | 回车(Carriage return) |
\t | 水平制表符 |
\v | 垂直制表符 |
\\ | 一个字面上的反斜杠字符 |
\ddd | 表示1到3位数八进制值的字符。仅在格式字符串中有效 |
\0ddd | 表示1到3位的八进制值字符 |
2.test的参数
文件测试
参数 | 说明 |
---|---|
-e 文件名 | 如果文件存在则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
-c 文件名 | 如果文件存在且为字符型特殊文件则为真 |
-b 文件名 | 如果文件存在且为块特殊文件则为真 |
#!/bin/bash printf "|------------------------------------\n" printf "this is printf string.\n" printf "name\taddress\tage\n" printf "%s\t%s\t%d\n" "wangli" "beijing" 10 str1=123 str2=124 if test $str1 = $str2 then echo "str1 等于 str2" else echo "str1 不等于 str2" fi #-a 与 #-o 或 #!非 if test -e /home/daokr/myfile/main.c -a -x /home/daokr/myfile/main.c then echo "main.c 存在且可以执行" else echo "main.c 存在不可以执行" fi if test ! -e /home/daokr/myfile/a.txt then echo "a.txt 不存在" else echo "a.txt 存在" fi if test -e /home/daokr/myfile/main.c then echo "存在" fi