Chinaunix

标题: 高手哥,帮忙解释一下代码的意义? [打印本页]

作者: variation    时间: 2009-08-22 14:10
标题: 高手哥,帮忙解释一下代码的意义?
tmpdir=tmp.$$    这句是不是随机生成临时目录?$$啥意思?
mkdir $tmpdir.new    这句是不是建立扩展名为new的目录,有点晕?
for f in $*  
do  
sed -e 's/oldstring/newstring/g'\     这里的\啥意思?
< $f > $tmpdir.new/$f    这句压根看不懂??
done  
# Make a backup first!  
mkdir $tmpdir.old           
mv $* $tmpdir.old/  
cd $tmpdir.new  
mv $* ../  
cd ..  
rmdir $tmpdir.new
作者: 寂寞烈火    时间: 2009-08-22 14:29
http://bbs2.chinaunix.net/thread-674903-1-1.html
作者: kwokcn    时间: 2009-08-22 14:32
tmpdir=tmp.$$    这句是不是随机生成临时目录?$$啥意思?
$$指当前进程的进程号PID。即赋值变量tmpdir为"tmp."追加PID的字符串。

mkdir $tmpdir.new
创建名为$tmpdir加上".new"的文件夹。

sed -e 's/oldstring/newstring/g'\     这里的\啥意思?
< $f > $tmpdir.new/$f    这句压根看不懂??
两句合起来是一条完整命令。shell中\在行尾时表示续行,即下一行和本行属于同一命令行。< $f表示输入为变量f表示的文件,> $tmpdir.new/$f表示输出为$tmpdir追加".new"后的文件夹下面以$f命名的文件。
作者: variation    时间: 2009-08-22 19:44
回答很专业,谢高手哥~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2