zoukankan      html  css  js  c++  java
  • 在ubuntu下递归追索一个包的所有必要依赖项apt_dep.sh

    在ubuntu下递归追索一个包的所有必要依赖项apt_dep.sh

    通过apt-cache depends 可以获取debian/ubuntu下一个包的依赖项,但依赖项本身也会依赖其他包,

    希望递归追索所有依赖项,且不重复,则使用如下小脚本可以达到目的

    #! /bin/bash
    
    ALL_DEBS=$1
    CHECKED_DEBS="libc6 $1"
    UNCHECK_DEBS=""
    
    function is_check()
    {
        for item_one in ${CHECKED_DEBS}; do
            if [ $item_one == $1 ]; then
                 return 1
            fi
        done;
        return 0
    }
    
    function get_dep()
    {
       PACKAGE_NAME="$1"
       DEPS_NAME="$(apt-cache depends "$PACKAGE_NAME" | grep " 依赖:" | awk -F ":" '{ print $2}' | tr -d '<>' | tr '
    ' ' ')"
       # echo "$1, ${DEPS_NAME}"
       for item_two in ${DEPS_NAME}; 
       do
          is_check $item_two
          if [ $? -eq 0 ] ; then
             CHECKED_DEBS="${CHECKED_DEBS} ""$item_two"
             get_dep $item_two
          fi
       done;
    }
    
    get_dep $1
    echo ${CHECKED_DEBS}
  • 相关阅读:
    bzoj1103[POI2007]大都市meg
    bzoj1098[POI2007]办公楼biu
    bzoj1102[POI2007]山峰和山谷Grz
    POI刷题记录
    语法-指针
    dp-最长公共子序列
    如何判断素数
    C++的map用法
    stl-优先队列
    C++和Java的stack语法
  • 原文地址:https://www.cnblogs.com/eaglexmw/p/13444559.html
Copyright © 2011-2022 走看看