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

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

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

نویسنده موضوع: نبود GLOBIGNORE در bash  (دفعات بازدید: 450 بار)

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

آفلاین alieblice2

  • Sr. Member
  • *
  • ارسال: 280
نبود GLOBIGNORE در bash
« : 06 مهر 1391، 10:36 ب‌ظ »
سلام دوستان

مشکل این هست که GLOBIGNORE اصلا وجود نداره تو BASH  , در نتیجه با ست کردنشم کار نمیکنه .

پیشاپیش ممنون

آفلاین جادی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1605
    • در دفاع از آزادی بیان
پاسخ : نبود GLOBIGNORE در bash
« پاسخ #1 : 07 مهر 1391، 10:43 ق‌ظ »
هی دست دست می کردم بگم سوال خوب نیست.. ولی خب ظاهرا بد هم نیست.. به هرحال... حداقل بگم که توی سوال پرسیدن خوبه کمی دقیق تر بگی. مثلا بگی چیکار می کنی تا اگر کسی هم بلد نیست یاد بگیره (:

به هرحال (: مشکل چیه دقیقا خب؟ گلوبال ایگنور جزو بش است و بدون شک کار می کنه (: پیش فرض باید این باشه که در گنو/لینوکس چیز عجیب و غریب وجود نداره و اگر چیزی بنا به مستندات درست، درست کار نمی کنه یعنی یک جای کار ما می لنگه (: من یک نمونه تست می ذارم اینجا با کار خودت مقایسه کن و اگر هنوز مشکل داری بگو مشکل دقیقا چیه:

jadi@jedora:/tmp$ mkdir test
jadi@jedora:/tmp$ cd test
jadi@jedora:/tmp/test$ touch jaditest
jadi@jedora:/tmp/test$ touch another
jadi@jedora:/tmp/test$ touch alakitest
jadi@jedora:/tmp/test$ ls *
alakitest  another  jaditest

یک دایرکتوری ساختم با سه تا فایل و می بینیم که * همه سه تا فایل رو بر می گردونه. حالا توی متغیر GLOBIGNORE می تونم ترکیب هایی رو معرفی کنم که می خوام از این به بعد اگر از * استفاده کردم از فهرست فایل هایی که بر می گردن حذف بشن. به عبارت دیگه اگر بش هر جایی علامتی هایی مثل ? یا * رو بسط بده به فایل‌ها، یکبار هم اون فایل ها رو با محتویات این متغیر چک می کنه و اگر می خوند، حذفشون می کنه (روشی برای اینکه بگیم یکسری از فایل ها هیچ وقت در بش توسط * و ? فهرست نشن). من می گم هر چیزی  که الگوی *a داره نمی خوام بسط داده بشه :

jadi@jedora:/tmp/test$ export GLOBIGNORE="a*"
jadi@jedora:/tmp/test$ ls *
jaditest

و می بینیم که مثل ماه کار می کنه (:
آزادی کیبورد حق هر انسان است - جادی

آفلاین alieblice2

  • Sr. Member
  • *
  • ارسال: 280
پاسخ : نبود GLOBIGNORE در bash
« پاسخ #2 : 07 مهر 1391، 01:45 ب‌ظ »
برا سوال کردن هرچی فکر کردم چه جور بپرسم راهی پیدا نشد. چون بیشتر اموزشی میشد تا سوال.

این کارا رو منم کرده بودم  ولی نشد .

aliali@lp:~/Desktop/test$ ls
0-103     1011-rename  1018   err                      lsps2            test
1004      1012         1019   gedit                    lsps3            un
1005      1013         1020   home-20120918.tgz        program
1006      1014         2      inod.ps                  reboot
1007read  1015         54     issueUU01_en.pdf.bz2.gz  rebootTIME
1009      1016         ali1   lsps                     serverguide.pdf
1010      1017         dmesg  lsps1                    subnets.pdf
aliali@lp:~/Desktop/test$
aliali@lp:~/Desktop/test$ export GLOBIGNORE="1*"
aliali@lp:~/Desktop/test$
aliali@lp:~/Desktop/test$ ls
0-103     1011-rename  1018   err                      lsps2            test
1004      1012         1019   gedit                    lsps3            un
1005      1013         1020   home-20120918.tgz        program
1006      1014         2      inod.ps                  reboot
1007read  1015         54     issueUU01_en.pdf.bz2.gz  rebootTIME
1009      1016         ali1   lsps                     serverguide.pdf
1010      1017         dmesg  lsps1                    subnets.pdf
aliali@lp:~/Desktop/test$

BASH من این وژٰن هست ماله شما چه ورژنی هست :
4.2.24(1)-release
شاید یک باگ از این ورژٰن باشه.
کلا قبل از اکسپورت کردنش هم که چک میکنم variableش نیست . انگار که این طور چیزی وجود نداره .