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

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

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


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

نویسنده موضوع: نوشتن کاراکتر ها و عبارات خاص در فایل بوسیله script  (دفعات بازدید: 1390 بار)

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

آفلاین pronetin

  • Newbie
  • *
  • ارسال: 15
سلام

من می خوام در یک فایل عبارت هایی مثل (`pwd`) را بنویسم. هدفم از این کار ایجاد یک script پویا است. از دستور زیر استفاده کردم ولی به جای نوشتن عبارت خروجی دستور pwd را می نویسد:
printf "\t%s\n" "curDir=(`pwd`)" >> ./myfileهم چنین می خوام در آن فایل عبارتی مثل $curDir را بنویسم ولی به جای این کار مقدار متغیر curDir را در فایل می نویسد. فکر می کنم با علامت $ مشکل دارد. دستور زیر را نوشتم که نشد:
printf "\t%s\n" "cd \"$curDir\"" >> ./myfile

آفلاین جادی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1616
    • در دفاع از آزادی بیان
به چه زبونی؟ سی؟ سوال کامل و دقیق جواب درست می یاره و البته اگر سوالت سی است، پیشنهاد می کنم اول یک کتاب برنامه نویسی سی رو دقیق بخونی (: کلا در اکثر زبان ها برای اشاره به خود کاراکترهای خاص، یا \ قبلش می ذارن. مثلا $\ می شه «خود علامت دلار».
آزادی کیبورد حق هر انسان است - جادی

آفلاین pronetin

  • Newbie
  • *
  • ارسال: 15
زبان سی را بلدم ولی bash را در سطح مقدماتی. می دانم که در سی اگر \ را قبل از کاراکترهای خاص بگذاریم، به چه معناست. اگر دستور دومی که در پست گذاشتم را نگاه کنید می بینید که از \ قبل از " استفاده کرده ام تا در خروجی و در فایل کاراکتر " قرار گیرد.
نقل‌قول
به چه زبونی؟
زبان .bash در سوال هم نوشته بودم که منظورم چیست. شاید نامفهوم بوده است. :?:

مشکلم حل شد.

printf "\t%s\n" "curDir=(\`"pwd"\`)" >> ./filename
printf "\t%s\n" "cd \"\$curDir\"" >> ./filename

مشکل دستور اول کاراکتر ` بود که باعث اجرا شدن عبارت بعد یعنی pwd می شد. pwd هم باید در داخل "" قرار می گرفت تا ` بر روی آن اثر نگذارد.

مشکل دستور دوم هم $ بود که باید قبل از آن \ قرار می گرفت.

به هر حال متشکرم.


« آخرین ویرایش: 19 مهر 1389، 12:02 ب‌ظ توسط pronetin »