"cat"コマンドを分岐する方法は?

これは私のbashスクリプトです。

#!/bin/bash
oo="`cat /etc/httpd/conf/httpd.conf`";
cat > /a.txt << EOF
$oo
EOF

/etc/httpd/conf/httpd.conf を読み、/a.txt に書き込みます。問題は、sudoコマンドを使用してWebスクリプトを介してこれを行うときです。何らかの理由で、すべてがa.txtファイルに書き込まれるわけではありません。

しかし、コマンドラインで実行すると、すべてがa.txtにうまく記録されます。

したがって、以下を追加してバックグラウンドプロセスに送信する必要があります。

> /dev/null 2>&1

それに。しかし、何をすべきですか?頑張った

#!/bin/bash
oo="`cat /etc/httpd/conf/httpd.conf`";
cat > /a.txt << EOF
$oo
EOF > /dev/null 2>&1

これはうまくいきません。

ベストアンサー1

たぶん、この例はあまりにも単純かもしれませんが、なぜそれを実行しないのかを理解するのが困難です。

cp /etc/httpd/conf/httpd.conf /a.txt

つまり、単にファイルから読み込み、その内容を使用して別のファイルを生成するコマンドがすでにありますcp。唯一の実際の違いは、/a.txtそのコマンドがすでに存在し、その権限を維持しようとしている場合です。それからあなたはこれをしたいと思います:

cat /etc/httpd/conf/httpd.conf >/a.txt

おすすめ記事