इन्सर्ट स्टेटमेंट को mysql को भेजा जाना है, शेल स्क्रिप्ट की दूसरी लाइन को नहीं, इसलिए आपको इसे "यहां डॉक्यूमेंट" बनाने की जरूरत है।
mysql --host=randomhost --user=randomuser --password=randompass randomdb << EOF
insert into table (field1,field2,field3) values('http://www.site.com/$hash','$file','$size');
EOF
<< EOF
मतलब अगली पंक्ति से पहले सब कुछ ले लो जिसमें EOF
. के अलावा कुछ भी नहीं है (शुरुआत में कोई खाली जगह नहीं) कार्यक्रम के मानक इनपुट के रूप में।