転送が完了したら$ file_nameをエコーしようとしています。しかし、ちょうどダウンロードされたもののファイル名を表示する変数をLFTPでどのように作成するかに関する参考文献を見つけることができません。LFTPで現在のファイル転送をエコーする
コード:
#!/bin/bash
login="myusername"
pass="notmypassword"
host="my.hosting.server"
remote_dir='/Path/To/Remote/Dir/.'
local_dir="/Path/To/Local/Dir/"
file_name=**the name of the file im downloading**
base_name="$(basename "$0")"
lock_file="/tmp/$base_name.lock"
trap "rm -f $lock_file" SIGINT SIGTERM
if [ -e "$lock_file" ]
then
echo "$base_name is running already."
exit
else
touch "$lock_file"
lftp -u $login,$pass $host << EOF
set ftp:ssl-allow no
set mirror:use-pget-n 5
mirror -c -x "\.r(a|[0-9])(r|[0-9])$" -P5 --log="/var/log/$base_name.log" "$remote_dir" "$local_dir"
echo $file_name
quit
EOF
#osascript -e 'display notification "$file_name Downloaded" with title "Media Server"'
rm -f "$lock_file"
trap - SIGINT SIGTERM
exit
fi
私は現在のファイルをエコーするためにかなり単純なこと、その後もファイルが正常に転送されたことをOSX上の通知をトリガするために私のosascriptをにこの変数を追加することを考え出し、しかし、私の人生のために、私はどのように考え出すことができません。
私は間違って何をしていますか?
乾杯!
を、あなたが何を意味するか明確にしてくださいことができます」現在のファイル転送をエコーします。 "、正確に何を表示したいと思いますか? – dood
確かに、私はこのシェルスクリプトを実行しています - 一度ファイルが正常に転送されたら - 転送されたファイルの名前を端末に返すようにします。例えば、私が 'remote_dir = '/ path/to/remote/directory/AwesomeMovie.mp4''を転送していたら、 'AwesomeMovie.mp4'をエコーします。 – ThatsNoMoon
もっと単純化するために - 私はLFTPを使ってサーバからファイルをダウンロードします私の家のコンピュータ。 LFTPの転送が完了すると、私のスクリプトは "Movie Downloaded"にエコーします。私は「Movie」という単語を、ダウンロードされたファイルの名前である変数に置き換えたいと思います。たとえば、「Home Movie」をダウンロードした場合、スクリプトは「Home Movie Downloaded」にエコーします。私が "Friend's Movie"をダウンロードした場合、スクリプトは "Friend's Movie Downloaded"とエコーします。これは理にかなっていますか? – ThatsNoMoon