我已经编写了一个shell脚本来输入gentoo前缀并运行命令。
但一旦输入Gentoo前缀,它就会停止并不执行其余步骤据我所知,控制台已从RHEL更改为GENTOO,这将阻止shell脚本执行其余命令。
有没有办法不输入GENTOO前缀就可以在shell脚本中执行GENTOO特定的命令?
使用的命令:

Gentoo_prefix
equery list > file.csv

脚本:
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

最佳答案

为了向脚本中的命令提供输入,必须使用管道或here文档,而不是像交互式键入命令那样将输入放在命令之后。

                    if [ $version_name == $pack ]
                    then
                        echo 'equery list > components.csv' | $version_name


                    if [ $version_name == $pack ]
                    then
                        $version_name <<EOF
equery list > components.csv
EOF

关于linux - 输入Gentoo并执行gentoo命令,例如equery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41004002/

10-11 23:10