LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 683|回复: 3

谁能解释一下这段shell?

[复制链接]
发表于 2005-11-2 10:07:31 | 显示全部楼层 |阅读模式
if [ "`echo //sbin | tr -s / /`" = /sbin ]; then :;    \
else                                                                 \
        echo moveold usually only makes sense when installing into /sbin; \
        exit 1;                                                      \
fi
if [ -f /sbin/lsmod.old ]; then                                 \
        echo Someone already moved old versions. >&2; exit 1;   \
fi
for f in lsmod modprobe rmmod depmod insmod modinfo; do             \
    if [ -L /sbin/$f ]; then                                        \
        ln -sf `ls -l /sbin/$f | sed 's/.* -> //'`.old /sbin/$f;  \
    fi;                                                             \
    mv /sbin/$f /sbin/$f.old;                                       \
    if [ -f /usr/share/man/man8/$f.8.gz ]; then             \
        mv /usr/share/man/man8/$f.8.gz                              \
                /usr/share/man/man8/$f.old.8.gz;                    \
    elif [ -f /usr/share/man/man8/$f.8.bz2 ]; then                  \
        mv /usr/share/man/man8/$f.8.bz2                     \
                /usr/share/man/man8/$f.old.8.bz2;                   \
    else                                                            \
        mv /usr/share/man/man8/$f.8 /usr/share/man/man8/$f.old.8; \
    fi;                                                             \
done
for f in kallsyms ksyms; do                                         \
    if [ -L /sbin/$f ]; then                                        \
        ln -sf `ls -l /sbin/$f | sed 's/.* -> //'`.old /sbin/$f;  \
    fi;                                                             \
done
ln -s /sbin/lsmod.old /bin/lsmod.old
发表于 2005-11-2 13:37:49 | 显示全部楼层
这个程序有点问题。不过程序的意思是自动地备份一些文件为old形式。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-3 20:08:26 | 显示全部楼层
能不能具体说明一下.
回复 支持 反对

使用道具 举报

发表于 2005-11-4 14:19:54 | 显示全部楼层
就是把/sbin/下lsmod modprobe rmmod depmod insmod modinfo都rename成*.old,因为其中有些文件是链接文件,要更改链接目标。
把man文件做相应的rename。
把/sbin下kallsyms和ksysm链接目标变为*.old。
在/bin下建一个指向/sbin/lsmod.old的链接。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表