انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: مشکل اسکریپت  (دفعات بازدید: 1024 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین elyas74

  • Sr. Member
  • *
  • ارسال: 274
  • جنسیت : پسر
مشکل اسکریپت
« : 10 فروردین 1393، 05:03 ب‌ظ »
سلام،
من برای دانلود های شبانه ام یک اسکریپت خیلی ساده نوشتم که با چند تا کد دیگه برام کار دانلود رو میکنن،‌ مشکلش اینه که بعد از شروع و در حین دانلود اطلاعات(نتایج دستورات) داخل فایل مورد نظر درست میره ولی بعد از تموم شدن و روشن کردن سیستم فقط اخرین ساعت داخل فایل هست. ممنون میشم راهنماییم کنین.
آیا ممکنه به دلیل زیاد شدن اطلاعات داخل فایل باشه؟(چون در مثال های کوچیک مشکلی نیست)

#!/bin/bash
cd /home/elyas
sudo shutdown -h 7:55  | tee download_res.txt
sudo clock | cut -c 17-24 | tee download_res.txt
axel http://ftp2.nluug.nl/languages/qt/official_releases/qt/5.2/5.2.1/qt-opensource-linux-x64-android-5.2.1.run \
| tee download_res.txt
axel http://anychimirror101.mirrors.tds.net/pub/Qt/official_releases/qt/5.2/5.2.1/qt-opensource-linux-x64-5.2.1.run \
| tee download_res.txt
sudo yum -y update | tee download_res.txt
#sudo yum install -y emacs | tee download_res.txt
sudo clock | cut -c 17-24 | tee download_res.txt
poweroff
« آخرین ویرایش: 10 فروردین 1393، 06:38 ب‌ظ توسط elyas74 »
ubuntu16.04/unity/JavaScript

آفلاین dostajn

  • Jr. Member
  • *
  • ارسال: 47
پاسخ : مشکل اسکریپت
« پاسخ #1 : 11 فروردین 1393، 07:34 ق‌ظ »
سلام،
من برای دانلود های شبانه ام یک اسکریپت خیلی ساده نوشتم که با چند تا کد دیگه برام کار دانلود رو میکنن،‌ مشکلش اینه که بعد از شروع و در حین دانلود اطلاعات(نتایج دستورات) داخل فایل مورد نظر درست میره ولی بعد از تموم شدن و روشن کردن سیستم فقط اخرین ساعت داخل فایل هست. ممنون میشم راهنماییم کنین.
آیا ممکنه به دلیل زیاد شدن اطلاعات داخل فایل باشه؟(چون در مثال های کوچیک مشکلی نیست)

#!/bin/bash
cd /home/elyas
sudo shutdown -h 7:55  | tee download_res.txt
sudo clock | cut -c 17-24 | tee download_res.txt
axel http://ftp2.nluug.nl/languages/qt/official_releases/qt/5.2/5.2.1/qt-opensource-linux-x64-android-5.2.1.run \
| tee download_res.txt
axel http://anychimirror101.mirrors.tds.net/pub/Qt/official_releases/qt/5.2/5.2.1/qt-opensource-linux-x64-5.2.1.run \
| tee download_res.txt
sudo yum -y update | tee download_res.txt
#sudo yum install -y emacs | tee download_res.txt
sudo clock | cut -c 17-24 | tee download_res.txt
poweroff
با دستور tee کار نکردم اما این جور که از توضیحات نرم افزار بر می آد:
شما با هربار درخواست نوشتن در فایل گزارش اصطلاحا دارید overwrite می کنید یعنی فایل رو از نو می نویسید. باید از گزینه

       -a, --append
      append to the given FILEs, do not overwrite
منبع:
http://unixhelp.ed.ac.uk/CGI/man-cgi?tee
در ضمن فکر نکنم نیاز به این دستور داشته باشید با همون فرمان << هم می شود گزارشات رو ذخیره کرد

آفلاین mhch

  • Sr. Member
  • *
  • ارسال: 340
  • جنسیت : پسر
پاسخ : مشکل اسکریپت
« پاسخ #2 : 11 فروردین 1393، 10:20 ق‌ظ »
با عرض پوزش کد ت رو نخوندم
اما برای نوشتن روی یه فایل میتونی از < استفاده کنی
برای نوشتن در انتهای یه فایل میتونی از << استفاده کنی
خروجی استاندارد برابر 1 هست
خروجی ارور برابر 2 هست
ورودی استاندارد هم برابر 0 هست
مثال :
ls 1>list-test
cat list-test
ls -l /tmp/ 1>>list-test
در این زمانه بی های و هوی و لال پرست
خوشا بحال کلاغای قیل و غال پرست
به شب نشینی خرچنگ های مردابی
چگونه رقص کند ماهی زلال پرست
رسیده ها چه غریب و نچیده میافتند
به پای هرزه علف های باغ کال پرست
هنوز زنده ام و زنده بودنم خاریست
به تنگ چشمی نامردمان زوال پرست

آفلاین elyas74

  • Sr. Member
  • *
  • ارسال: 274
  • جنسیت : پسر
پاسخ : مشکل اسکریپت
« پاسخ #3 : 11 فروردین 1393، 05:10 ب‌ظ »
درسته مشکل override شدن فایل بود، ممنونم :D

راستی دستور tee برای دو شاخه کردن خروجی دستور ها به کار میره، یعنی اون جاهایی ک من از دستور tee استفاده کردم میخوام که هم خروجی دستور ها داخل فایلم ذخیره بشه و هم در ترمیالی که دستور رو اجرا کرده نمایش داده بشه.
ubuntu16.04/unity/JavaScript