#!/bin/bash

#

#define function
#Copy binary program
cp_bin(){
  cmd_dir=${cmd_path%/*}
  [ ! -d /mnt/sysroot$cmd_dir ] && mkdir -p /mnt/sysroot$cmd_dir &> /dev/null
  if [ ! -e /mnt/sysroot$cmd_path ];then
    cp $cmd_path /mnt/sysroot$cmd_dir
  else
    echo "Command already exists."
  return 1
  fi
}
#Copy shared libraries
cp_lib(){
  while read lib_line;do
  lib_dir=${lib_line%/*}
  [ ! -d /mnt/sysroot$lib_dir ] && mkdir -p /mnt/sysroot$lib_dir &> /dev/null
  if [ ! -e /mnt/sysroot$lib_line ];then
    cp $lib_line /mnt/sysroot$lib_dir
  fi
done < /tmp/cmd_lib

}

#main
read -p "Please enter a name for the executable command:" cmd
cmd=${cmd:=bash}
until [ $cmd == "quit" ];do
  if which $cmd &> /dev/null ;then
    cmd_path=`which $cmd | grep -o "/[^[:space:]]\+$"`
    cp_bin
  elif help $cmd &> /dev/null;then
    echo "This is the bash built-in command."
    read -p "Please enter a name for the executable command:" cmd
    continue
  else
    read -p "Command does not exits,please re_enter,or exit(quit):" cmd
    continue
  fi
  if [ $? -eq 0 ];then
    ldd $cmd_path | grep -o "/[^[:space:]]\+" > /tmp/cmd_lib
    cp_lib
  fi
  read -p "To complete the copy command,continue with the next command,or exit(quit):" cmd
  cmd=${cmd:=bash}
done

chroot下二进制程序迁移的更多相关文章

  1. 如何利用mono把.net windows service程序迁移到linux上

    How to migrate a .NET Windows Service application to Linux using mono? 写在最前:之所以用要把windows程序迁移到Linux上 ...

  2. windos命令行下的程序编写

    1.命令行下写程序. 写程序一定要用IDE?不,我还可以用记事本呢.呵呵,写程序一定要用记事本?? ———————————————— 命令行下输入copy con test.txt后回车可在相应目录下 ...

  3. Linux下C程序的编辑,编译和运行以及调试

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  4. 将 Java Spring Framework 应用程序迁移到 Windows Azure

    我们刚刚发布了一个新教程和示例代码,以阐述如何在Windows Azure中使用 Java 相关技术.在该指南中,我们提供了分步教程,说明如何将 Java Spring Framework 应用程序( ...

  5. .net下二进制序列化的格式分析[转]

    .net下二进制序列化的格式分析[转] -- 综合应用 (http://www.Host01.Com/article/Net/00020003/) --- .net下二进制序列化的格式分析 (http ...

  6. 安装mariadb二进制程序

    author:JevonWei 版权声明:原创作品 下载mariadb软件包 https://downloads.mariadb.org/mariadb/5.5.57/ 一.创建用户和准备数据目录 1 ...

  7. Linux入门进阶第四天(下)——程序管理(补充内容)

    1.PID 触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系,给予这个 PID 一组有效的权限设置. 同一个程序 ...

  8. 微信小程序迁移到头条小程序工具

    最近公司需要将微信小程序迁移到头条小程序,比较得知微信和头条小程序的写法类似,只有文件名称不同,相关的指令不同,以及头条在ttml绑定的数据不可使用function,于是就写了node脚本来实现这些重 ...

  9. linux whereis-查找二进制程序、代码等相关文件路径

    推荐:更多Linux 文件查找和比较 命令关注:linux命令大全 whereis命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径. whereis命令只能用于程序名的搜索,而且 ...

随机推荐

  1. mysql中的的按小数位截取

    format()函数返回类型是字符串,满三位会加一个逗号. 针对数字类型转换建议使用 convert或者cast函数,用法如下: format(param, 2) (不建议) convert(para ...

  2. C++简易酒店管理系统,实现(查询、入住、退房、楼层选择、退出)功能

    #include <iostream> #include <string.h> #include <stdlib.h> void enter(); void che ...

  3. 安全和加密——openssl及自建CA

    一.对称加密算法 对称加密:加密和解密使用共用一个秘钥 特点 加密.解密使用同一个秘钥,效率高: 将原始数据分割成固定大小的块,逐个进行加密 缺点 密钥过多,密钥需要分发 数据来源无法确认 1. 使用 ...

  4. linux优化之优化开机自启动服务

    过滤出来需要的开机自启动项:chkconfig  --list|grep  3:on|grep  -v  "crond|sshd|network|rsyslog|sysstat" ...

  5. 如何用纯 CSS 创作一个文本淡入淡出的 loader 动画

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ERwpeG 可交互视频 ...

  6. HDU 5236 Article 期望

    题意: 你现在要打\(n\)个字符,但是程序随时可能会崩溃. 你可以在恰当的时机按下 \(Ctrl-S\)键,崩溃后,会从最后一次保存的情况继续开始打字. 具体是这样的: 在每个第\(i-0.1s(i ...

  7. BNU 3692 I18n 模拟

    题意: 在一篇文章中,单词可以缩写.例如单词Internationalization可以缩写为I18n,缩写的两端是原单词的首尾字母,中间的数字是被省略的字母的个数. 现在给你一篇缩写的文章,输出展开 ...

  8. day01 项目

    项目名称: 编写登陆接口 项目需求:     1 输入用户名密码     2 认证成功后显示欢迎信息     3 输错3次之后锁定,包括下次运行此程序也要锁定,涉及到持久化的问题只能用python 自 ...

  9. Django 二——models(admin、ORM),一对一、一对多、多对多操作,all、values、value_list的对比

    内容概要 1.关系对象映射ORM 2.admin的配置(选修) 3.all().values().value_list()的对比 4.数据库操作(一对一.一对多.多对多) 5.HttpResponse ...

  10. mysql primary partition分区

    尝试把数据库一个表分区 ALTER TABLE user PARTITION BY RANGE(TO_DAYS(`date`)) ( PARTITION p1004 VALUES LESS THAN  ...