[shell] some command > /dev/null 2>&1
>/dev/null
redirects the command standard output to the null device, which is a special device which discards the information written to it
2>&1
redirects the standard error stream to the standard output stream (stderr = 2, stdout = 1).
Note that this takes the standard error stream and points it to same location as standard output at that moment. This is the reason for the order >/some/where 2>&1
because one needs to first point stdout to somewhere and then point stderr to the same location if one wants to combine both streams in the end
[perl] $|=1
$| 是perl的内置变量,默认情况下是0,如果设置为非0的话,表示当前的输出不经过缓存立刻输出,比如print或者write一个文件,实际是需要经过缓存的,但是设置该变量非0后就不经过缓冲立刻输出.
[shell] $HOSTNAME -> 機器號 $USER -> 賬號
[perl] exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;
一般来说,exit 0 可以告知你的程序的使用者:你的程序是正常结束的。如果 exit 非 0 值,那么你的程序的使用者通常会认为你的程序产生了一个错误。
以 shell 为例,在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。
假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了
如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
即可。
如果dir2目录已存在,则需要使用
cp -r dir1/. dir2