首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进入Gentoo并执行gentoo命令,如equery

进入Gentoo并执行gentoo命令,如equery
EN

Stack Overflow用户
提问于 2016-12-06 20:12:43
回答 1查看 128关注 0票数 0

我已经编写了一个shell脚本来输入gentoo前缀并运行命令。但是一旦它输入了Gentoo前缀,它就会停止,而不会执行其余的步骤。据我说,控制台已经从RHEL变成了GENTOO,这使得shell脚本无法执行其余的命令。在不输入GENTOO前缀的情况下,我可以在shell脚本中执行gentoo特定的命令吗?

使用的命令:

代码语言:javascript
复制
Gentoo_prefix
equery list > file.csv

剧本:

代码语言:javascript
复制
cat file | awk '{print $3}'| cut -d '/' -f3 | cut -d '_' -f1 | sort -u | uniq -u | sed 's/.$//' > files
read -n 2 Detail
files=`echo $Detail | tr '[:upper:]' '[:lower:]'`
read server
Server=`echo $server | tr '[:upper:]' '[:lower:]'`
for nat in $(cat files)
do
    for serv in $Server
    do
        if [ $files == $nat -a $Server == $serv ]
        then
            ls /tmp/$nat'0_'$serv/ | grep -i python > module
            read module_name
            ls /tmp/$nat'0_'$serv/$module_name/ | grep ^3 > version
            $version_name = ' '
            read version_name
            for name in $(cat version)
            do
                if [ $version_name == ' ' ]
                    for pack in $(cat module)
                    do
                        if [ $version_name == $pack ]
                        then
                            $version_name
                            equery list > components.csv
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-06 21:56:46

为了将输入到脚本中的命令,您必须通过管道将输入输入到脚本中,或者使用here-doc,而不是像交互地键入命令那样,将输入放在命令后面。

代码语言:javascript
复制
                    if [ $version_name == $pack ]
                    then
                        echo 'equery list > components.csv' | $version_name

代码语言:javascript
复制
                    if [ $version_name == $pack ]
                    then
                        $version_name <<EOF
equery list > components.csv
EOF
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41004002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档