给小linux添加功能,咱们写一个脚本吧
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
重大知识点:FILE=/etc/local/src
从左往右
echo ${FILE#/} 一个#代表将第一个/向左的内容都去掉 执行结果为etc/local/src
echo ${FILE##/} 代表从左往右找,找到最后一个/ 并将向左的内容全部去掉 执行结果为/src (用于取文件名)
从右向左
echo ${FILE%/*} 从右向左寻找/ 找到第一个 将/和向右的内容全部删除 执行结果为 /etc/local (用于取文件的目录)
echo ${FILE%%/*} 从右往左寻找到最后一个/ 并将其向右的内容全部去掉
*******************************************************************
#!/bin/bash
#
##复制生成路径
DEST=/mnt/sysroot
libcp() {
LIBPATH=${1%/*}
[ ! -d $DEST$LIBPATH ] && mkdir -p $DEST$LIBPATH
[ ! -e $DEST${1} ] && cp $1 $DEST$LIBPATH && echo "copy $1 finished."
}
##复制命令
bincp() {
CMDPATH=${1%/*}
[ ! -d $DEST$CMDPATH ] && mkdir -p $DEST$CMDPATH
[ ! -e $DEST${1} ] && cp $1 $DEST$CMDPATH
for LIB in `ldd $1 | grep -o "/.*lib\(64\)\{0,1\}/[^[:space:]]\{1,\}"`; do
libcp $LIB
done
}
read -p "Your command:" CMD
until [ $CMD == ‘q‘ ]; do
! which $CMD && echo "wrong command" && read -p "Input again" CMD && continue
COMMAND=` which $CMD | grep -v "^alias" | grep -o "[^[:space:]]\{1,\}"`
bincp $COMMAND
echo "copy $COMMAND finished"
read -p "Continue: " CMD
done
###########################################
最后
Mkdir /mnt/sysroot/lib/modules
Modinfo mii 的执行结果有路径然后复制路径
Cp /lib/modules/2.6.18….mii.ko /mnt/sysroot/lib/modules/
Modeinfo pcnet32 的执行结果有路径 然后复制
Cp /lib/modules/2.6.18….net.pcnet32.ko
sync
我们期待开机的时候自动装载这两个模块儿
Vim /mnt/sysroot/etc/rc.d/rc.sysinit
Insmod /lib/modules/mii.ko
Insmod /lib/modules/pcnet32.ko
Ifconfig eth0 192.168.9.224/16
Ifconfig lo 192.0.0.0/8
Sync