リモートディレクトリのファイル数を数えようとしています。
次のコードがあります。
ssh server.com<<RUNTHIS
FILE_COUNT=$(ls -AU /foo/bar/test_dir)
echo "$FILE_COUNT" > ~/file_count.txt
RUNTHIS
これを実行すると、次のような結果が得られます。ls: /foo/bar/test_dir No such file or directory
しかし、ディレクトリがそこにあります。ls /foo/bar/test_dir
サーバーに直接アクセスすると、ディレクトリが一覧表示されます。
以下も機能し、内容をファイルに保存します。
ssh server.com<<RUNTHIS
ls -AU /foo/bar/test_dir > ~/file_count.txt
RUNTHIS
最初のクリップに何の問題がありますか?
ベストアンサー1
bash
にあるので動作しませんheredoc
。一重引用符を使用してRUNTHIS
保護してください。
ssh server.com<<'RUNTHIS'
FILE_COUNT=$(ls -AU /foo/bar/test_dir)
echo "$FILE_COUNT" > ~/file_count.txt
RUNTHIS