ディレクトリエラーです

ディレクトリエラーです

現在のプログラムの実行にはいくつかの問題があります。顧客情報ファイル(各行は新規顧客です)をインポートしてテンプレートに置き換える必要があります。各顧客メッセージにはテンプレートから生成され、顧客の電子メールとして名前が付けられたファイルが含まれ、awk電子メールのサブディレクトリに保存されますsed。今私のプログラムは、次の行を印刷する以外に「何もしません」./test.bash: line 19: Emails/: Is a directory

  1 #!/bin/bash
  2 set -e
  3
  4 if [ "$#" -ne 1 ]; then
  5     echo "Illegal number of parameters. Usage:./test1.bash <mm/dd/yyyy>"
  6     exit 1
  7 fi
  8
  9 OUTPUT_DIR="Emails"
 10 details="p4Customer.txt"
 11 template="template.txt"
 12 date=$1
 13 if [ ! -d "$OUTPUT_DIR" ]; then
 14     mkdir -p "$OUTPUT_DIR"
 15 fi
 16
 17 gawk -f g2.awk -v date="$date" "$details" | while read detail;
 18 do
 19     sed "$detail" "$template" > "$OUTPUT_DIR/$email"
 20 done;

awkファイル

  1 BEGIN{ FS=",";}
  2 {
  3     email=$1;
  4     fullname=$2;
  5     title=$3;
  6     n=split(fullname,A," ");
  7     name=A[n];
  8     amount_owed=$5;
  9     if($5>$4)
 10         printf "s/EMAIL/%s/;s/FULLNAME/%s/;s/TITLE/%s/;s/NAME/%s/;s/AMOUNT/%s/;s/DATE/%s/\n", email, fullname, title, name, amount_owed, date;
 11 }
 12 END{}

ベストアンサー1

ライン

sed "$detail" "$template" > "$OUTPUT_DIR/$email"

シェル環境に影響を与えずに定義emailされたパラメーターのみを使用してください。awk

おすすめ記事