سند اینجا(here document) خصیصهای از ترکیب دستوری(syntactic) پوسته بورن است، که تغذیه دادهها به برنامه را بدون ذخیره آنها در یک فایل خارجی میسر میسازد. این ویژگی به همان خوبی در پوستههای POSIX، Korn و Bash نیز کار میکند.
قالب اصلی عبارت است از:
someprogram <<WORD دادههای شما go hereWORD
در اینجا، someprogram میتواند هر برنامهای باشد که از ورودی استاندارد میخواند (رایجترین آنها cat است)، و WORD میتواند هر کلمه متمایز کنندهای که مایل هستید، باشد. (EOF یک انتخاب رایج است.)
سند اینجا(Here document)ها با این قالب خصوصیات ویژهای دارند:
جایگزینیهای پوسته( از قبیل $variable) در سند اینجا انجام میشوند.
اگر بخواهیم از جایگزینی پوسته اجتناب کنیم، میتوانیم کلمه متمایز کننده را نقلقولی نماییم:
someprogram <<'WORD ' دادههای شما $go `here`WORD
اگر میخواهیم قادر به ایجاد تورفتگی در سنداینجا باشیم، میتوانیم کاراکتر - (خط تیره) را پیشوند کلمه متمایزکننده نماییم:
if ... while .... someprogram <<-WORD this is an indented here documentWORD done fi
در این شکل تمام کاراکترهای tab پیشتاز (فاصلهها خیر!) حذف خواهند شد. هیچگونه مقرراتی برای حذف فاصلههای پیشتاز سطر یا فاصلهها و tabهای همراه هم از ابتدای سطر وجود ندارد. (محدودیتهای قواعد دستوری Makefileها را به خاطر بیاورید، مجاب خواهید شد.)
سنداینجا ها به طور نوعی هنگامی که برنامه فراخوانی میگردد، به وسیله ایجاد فایل موقتی و تغییر مسیر ورودی استاندارد به این فایل، پیادهسازی میشوند.
در bash، گونهای از سنداینجا به نام رشتهاینجا(here string) وجود دارد. این جمع و جور تر است، اما محدودتر نیز میباشد:
read -a octets <<< "$ipaddr"
عملگر <<< نقشی مشابه نقش << در سنداینجا دارد، اما کلمه نگهبان برای اینکه به ما بگوید، کجا ورودی تمام میشود، وجود ندارد. در عوض، عملگر <<< با یک کلمه منفرد دنبال میشود(نقلقول ها دوست شما هستند!). کلمه به اضافه سطر جدید، ورودی استاندارد فرمان میشود.