2

私のコードを以下に示します。エコーは問題なく動作します。しかし、エコーの出力をタッチにリダイレクトすると、「そのようなファイルやディレクトリはありません」というエラーが表示されます。なんで ?どうすれば修正できますか? エコーのみの出力をコピーして貼り付けると、ファイルは作成されますが、タッチでは作成されません。

while read line           
do           
    #touch < echo -e "$correctFilePathAndName"
    echo -e "$correctFilePathAndName"           
done < $file.txt
4

4 に答える 4

4

標準入力ではなく、引数としてファイル名を指定する必要があります。または `…`を介してコマンド置換を使用できます。$(…)

while read line
do
    touch "$(echo -e "$correctFilePathAndName")"
done < $file.txt
于 2013-08-07T20:17:42.143 に答える
1

試す :

echo -e "$correctFilePathAndName" | touch

EDIT:申し訳ありませんが正しい配管は:

echo -e "$correctFilePathAndName" | xargs touch

'<' は stdin 経由でリダイレクトしますが、touch は引数としてファイル名を必要とします。xargs は、stdin を touch の引数に変換します。

于 2013-08-07T20:15:57.467 に答える