2016-12-06 6 views
0

gentooのプレフィックスと実行コマンドを入力するシェルスクリプトを書いています。 しかし、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

スクリプト内のコマンドの入力を供給するために、あなたはパイプにそれを持っているか、ここ-docの使用だけではなく、対話的に入力した場合と同じように、コマンドの後ろに入力を置きます。

    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

関連する問題