2016-12-06 17 views
0

gentoo prefix와 run 명령어를 입력하기위한 쉘 스크립트를 작성했습니다. 그러나 Gentoo 접두어에 들어가면 중지되고 나머지 단계는 실행되지 않습니다. 내게 따르면 콘솔이 RHEL에서 GENTOO로 변경되어 쉘 스크립트가 나머지 명령을 실행하지 못하게합니다. GENTOO 접두어를 입력하지 않으면 쉘 스크립트에서 gentoo 특정 명령을 실행할 수 있습니까?Gentoo에 들어가서 equery와 같은 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 
+0

스크립트를 게시하지 않는 경우 우리는 당신을 도울 수 있습니다. – Barmar

+0

질문을 게시하면 읽을 수 있도록 형식을 지정할 수 있습니다. – Barmar

+0

지금 질문을 확인하십시오. 스크립트도 게시했습니다. 일단 $ version_name 라인이 실행되면 Gentoo에 들어가고 다음 라인은 실행되지 않습니다. – Anamika

답변

1

, 당신은 단지 그것을에 파이프가 또는 여기-문서를 사용 대화식으로 입력하는 것처럼 명령 뒤에 입력하십시오.

    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 
+0

감사합니다. 나는 이것을 시도하고 그것이 효과가 있다면 알려주지. – Anamika

+0

에코 equery 목록 | $ version_name> components.csv 이것도 echo 'equery list> components.csv'와 함께 작동합니다. $ version_name 감사합니다! – Anamika