shell beginner
时间:2006-08-06 来源:Elite
#表示从字符串开头开始的第一个匹配,##表示最长匹配
%表示从字符串末尾开始的第一个匹配,%%表示最长匹配
重定向种种
$ find /home -name lost* 2> err_result "2>" 表示将标准错误输出重定向。
$ find /home -name lost* > all_result 2>& 1首先将标准错误输出也重定向到标准输出中,再将标准输出重定向到 all_result 这个文件中。
$ find /home -name lost* >& all_result,作用同上
二,BASH 中的语句结尾不需要分号(";");
三,除了在变量赋值和在FOR循环语句头中,BASH 中的变量使用必须在变量前加"$"符号,
整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1`
$1表示传给脚本的第一个参数变量,$#表示传给脚本的参数数量.更为标准的变量引用方式是 ${STR} 这样的,$STR 自不过是对 ${STR} 的一种简化。
BASH 中用于判断文件属性的操作符(满足下面要求时返回 TRUE):
%表示从字符串末尾开始的第一个匹配,%%表示最长匹配
重定向种种
$ find /home -name lost* 2> err_result "2>" 表示将标准错误输出重定向。
$ find /home -name lost* > all_result 2>& 1首先将标准错误输出也重定向到标准输出中,再将标准输出重定向到 all_result 这个文件中。
$ find /home -name lost* >& all_result,作用同上
另外一个非常有用的重定向操作符是 "-",请看下面这个例子:
$(cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xvfp -)
该命令表示把 /source/directory 目录下的所有文件通过压缩和解压,快速的全部移动到 /dest/directory 目录下去,这个命令在 /source/directory 和 /dest/directory 不处在同一个文件系统下时将显示出特别的优势。不理解.
二,BASH 中的语句结尾不需要分号(";");
三,除了在变量赋值和在FOR循环语句头中,BASH 中的变量使用必须在变量前加"$"符号,
整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1`
$1表示传给脚本的第一个参数变量,$#表示传给脚本的参数数量.更为标准的变量引用方式是 ${STR} 这样的,$STR 自不过是对 ${STR} 的一种简化。
BASH 中用于判断文件属性的操作符(满足下面要求时返回 TRUE):
-e file | 文件 file 已经存在 |
-f file | 文件 file 是普通文件 |
-s file | 文件 file 大小不为零 |
-d file | 文件 file 是一个目录 |
-r file | 文件 file 对当前用户可以读取 |
-w file | 文件 file 对当前用户可以写入 |
-x file | 文件 file 对当前用户可以执行 |
-g file | 文件 file 的 GID 标志被设置 |
-u file | 文件 file 的 UID 标志被设置 |
-O file | 文件 file 是属于当前用户的 |
-G file |
文件 file 的组 ID 和当前用户相同 |
file1 -nt file2 | 文件 file1 比 file2 更新 |
file1 -ot file2 | 文件 file1 比 file2 更老 |
相关阅读 更多 +