گنو/لینوکس مجموعهای از ابزارهای خیلی کوچولو اما بسیار پرقدرت است. این ابزارها به سادگی با هم ترکیب میشوند و نتیجهاش این میشه که کارهای خیلی پیچیده را میشه به سادگی انجام داد.
یکی از این ابزاهای خیلی خوب curl است. در معرفی curl آمده: ابزاری است برای ارسال داده «از» یا «به» سرور با پروتکلهایی که پشتیبانی میکنه (مثلا http, https, ftp, telnet و …) این ابزار به نحوی طراحی شده است که بدون نیاز به ارتباط با کاربر وظیفهش را انجام بده.
یک مثال:
سایتی به نام identi.ca که یک پیادهسازی از ابزار StatusNet برای Microbloggin (مشابه توییتر) است به شما این اجازه را میده که با استفاده از API پست خودتون را ارسال/دریافت کنید.
روش ارسال به این نحو است که باید محتوی توییت خودتون را به نشانی http://identi.ca/api/statuses/update.xml پست کنید. البته شناسه کاربری و کلمه عبور باید از طریق http authentication به سرور اعلام کنید.
برای این کار یک دستور curl کافیه:
curl http://identi.ca/api/statuses/update.xml -u USERNAME:PASSWORD -d "status=This is a test Dent from Shell"
به همین سادگی.
اگه دوست داشته باشید میتونید مثلا این دستور را با یه دستور دیگه قاطی کنید که نتیجه اون دستور را dent کنه. مثلا من یه اعلام ساعت با استفاده از دستور date درست کردم که با استفاده از cron سر هر ساعت گذشت زمان را به من یادآوری میکنه:
curl http://identi.ca/api/statuses/update.xml -u USERNAME:PASSWORD -d "status=Now: `date +\"%Y-%m-%d %H:%M\"`"
خوبه نه؟