鸬鹚洲 发表于 2018-8-28 07:39:07

shell 复制外部命令和其共享库的脚本

  #!/bin/bash
  #
  DEST=/mnt/sysroot
  libcp() {
  LIBPATH=${1%/*}
  [ ! -d $DEST$LIBPATH ] && mkdir -p $DEST$LIBPATH
  [ ! -e $DEST${1} ] && cp $1 $DEST$LIBPATH && echo "copy lib $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
  ============================================================================================
  #!/bin/bash
  #author:张飞
  #date:2016-6-3 00:35:20
  DEST=/mnt/sysroot
  libcp()
  {
  LIBPATH=${1%/*}
  [ ! -d $DEST$LIBPATH ] && mkdir -p $DEST$LIBPATH
  [ ! -e $DEST${1} ] &&cp ${1} $DEST$LIBPATH
  }
  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
  echo "$REALCMD的共享库已经复制完成"
  done
  }
  read -p "Input your command:" CMD
  until [ $CMD == "q" ];do
  ! which $CMD && echo "you input a error command!" && read -p "Input again: "CMD && continue
  NUM=`which $CMD | wc -l`
  case $NUM in
  1)REALCMD=`which $CMD`;;
  2)REALCMD=`which $CMD | tail -1 | awk '{print $1}'`;;
  *)echo "根本不可能出现"
  esac
  bincp $REALCMD
  read -p "Input your comand:" CMD
  done

页: [1]
查看完整版本: shell 复制外部命令和其共享库的脚本