-1

私は Web アプリを開発しています。ここでは、シェル スクリプトをバック エンド (awk スクリプトが埋め込まれています) として使用し、Java をフロント エンドとして使用しています。Process Builder を使用して、シェル スクリプト プログラムを呼び出しています。奇妙なことに、シェル スクリプト内にある awk スクリプトが実行されません。私はどこかで間違っているのでしょうか... これに関するあなたの意見を共有してください.

以下のコメントに入力されたシェルスクリプト。

#!/bin/bash
FileA=$1
FileB=$2
awk -v FileA="$FileA" '{print $0 >> FileA;}' "$FileB"
4

1 に答える 1

0

コメントでお互いにプログラムをタイプしようとするのはばかげています。質問を編集して、シェルスクリプトを解読したものを含めました。この回答を作成して、プログラムの変更をお願いしていることを文書化しました。このスクリプトをシェルから実行する場合と Java プログラムから実行する場合の両方について、/tmp/out に表示されるように (質問に) 出力を提供してください。

ところで、あなたは自分のユーザーとしてJavaプログラムを実行していますか、それとも別のユーザーIDによってJavaプログラムが実行され、ファイルに追加しようとすると権限の問題が発生する可能性があります.

#!/bin/bash
rm -f /tmp/out
exec >/tmp/out 2>&1
date
set -x
printenv
which awk
FileA="$1"
FileB="$2"
ls -l "$FileA"
id
awk -v FileA="$FileA" '{print $0 >> FileA;}' "$FileB"

質問を更新したら、必ずコメントを投稿してください。

于 2012-07-23T02:51:25.927 に答える