複数のコマンドの結果を1つのテキストファイルに送信しますか?

StackOverflow https://stackoverflow.com/questions/1612216

質問

これは私がこれまで持っているものです-私のドロップボックスは URL ディレクトリの作成スクリプトパブリックURL( getdropbox.com -gplと思います)。私の LIST ファイルは、lsを使用して次のように作成されました。

ls -d ~/Dropbox/Public/PUBLICFILES/* > LIST

dropboxpuburl.sh:

for PATH in `cat LIST`
do
   echo $PATH
   dropbox puburl $PATH > ~/URLLIST/$PATH
done

これで、一連のファイル全体が作成されます。各ファイルには、pubboxというpuburlが含まれています。

問題は、このスクリプトがすべてのパブリックリンクを1つのテキストファイルに、それぞれ PUBLIC-DIRECTORY-LIST という名前で新しい行にリダイレクトするようにする方法ですか?

>
役に立ちましたか?

解決

これはあなたが達成しようとしていることですか?

for PATH in `cat LIST`
   do
      echo $PATH
      dropbox puburl $PATH >> filename
   done

他のヒント

OK、ここで提供された提案を使用して動作しています:

for PATH in `cat LIST`
do
    echo $PATH
    dropbox puburl $PATH
done > PUBLIC-DIRECTORY-LIST

ディレクトリのリストを作成し、その下にパブリックリンクを作成します。ここで、ディレクトリを整理してリンクのクリーンテキストファイルを作成します。

=>ファイルを作成し、最初の行に何かを追加します。 >>新しい行に追加します。

echo txt=>PUBLIC-DIRECTORY-LIST.txt |
echo another text>>PUBLIC-DIRECTORY-LIST.txt 

for cat filename で使用する代わりに、入力リダイレクトで read を使用する必要があります。また、変数名の競合を避けるために、パス変数を小文字に変更しました。これは、シェルがすでにすべて大文字のパス変数を使用しているためです。インタラクティブシェルには影響しませんが、スクリプト内の何かに影響を与える可能性があります。

また、入力ファイルの行を進行状況インジケータとして画面に表示したいが、出力ファイルにキャプチャしない場合、この echo はそれを stderrに送信します

while read path
do
    echo $path >&2
    dropbox puburl $path
done < LIST > PUBLIC-DIRECTORY-LIST
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top