شما هنوز به سیستم وارد نشده اید.

#1 2016-11-18 15:17:41

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

تفاوت خروجی های bash و zsh[حل شد]

اینجا رو ببینید:
zsh:

 ❯ source Scripts.sh;procName3                                       [14:14:16]
Xorg

bash:

[saeed@saeed Scripts]$ source Scripts.sh;procName3 
bash: ${${F}##*/}: bad substitution

!!!
اینم اون فانکشنی که دارم صداش میزنم:

procName3 ()
{
F=$(ps -aux | sort -k3 | tail -6 | awk 'NR==3' | awk -F ' ' '{print $11}');
echo ${${F}##*/}
}

من توی یه بخشی از کانکی م میام و این فانکشن رو کال میکنم.ولی انگار میره و دستور رو از طریق بش انجام میده نه زیشل.(شل پیش فرض سیستم رو روی زیشل ست کردم).
دو تا سوال برام پیش اومده.چرا زیشل میتونه اجراش کنه ولی بش نه؟
و چکار کنم به کانکی م بگم بره این دستور رو تو زیشل اجرا کنه؟

آخرین ویرایش توسط LinArcX (2016-11-20 17:31:16)


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#2 2016-11-18 18:08:49

TUX
عضو
ثبت شده: 2016-01-31
ارسال ها: 83

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

کد رو غیر مستقیم در کانکی استفاده کنید
توی یه فایل مجزا ذخیره و قابلیت اجرایی بهش بدین و تو کانکی فراخوانی کنید ( با exec فکر کنم یا exc )

آفلاین

#3 2016-11-18 18:45:32

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

همین کار الان داره انجام میشه.بخشی از کانکی م:

${voffset 1}${font StyleBats:size=10}${color1}k${voffset -1}${font DroidSans:size=8.65}${color3}${offset 5}${execi 30 source Scripts/Scripts.sh;procName4}${alignr}${execi 30 source Scripts/Scripts.sh;proc4}

"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#4 2016-11-18 19:53:26

TUX
عضو
ثبت شده: 2016-01-31
ارسال ها: 83

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

احیانن اشتباهی فایل رو بش ذخیره نکردین؟!

#!/bin/bash
#!/bin/zsh

آفلاین

#5 2016-11-18 19:54:11

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 227

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

سلام. مطمئنید که این اسکریپتی که نوشتید با زیشل نوشتیدش؟ شبنگ رو هم چک کنید:

#!/bin/zsh

درود تاکس smile big_smile

آخرین ویرایش توسط mazhar (2016-11-18 19:54:54)

آفلاین

#6 2016-11-18 20:11:36

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

ممنون از راهنمایی تون تاکس و مظهر عزیز.اما فایل رو با شبنگ های مختلف هم چک کرده بودم و متاسفانه جواب نداده بود.
سوال من اینه چرا باید زیشل یه دستور خاصی رو اجرا کنه اما بش نتونه!!!

آخرین ویرایش توسط LinArcX (2016-11-18 20:12:12)


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#7 2016-11-18 20:21:07

TUX
عضو
ثبت شده: 2016-01-31
ارسال ها: 83

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

این کد رو کامل قرار بدین، خطایی داره حتما؟!

بهرحال اختلافهایی بین bash و zsh هست دیگه که نمیشه هر کدی رو روی هر دو اجرا کرد

آفلاین

#8 2016-11-19 20:10:17

Риал Краесис
عضو
از : تهران
ثبت شده: 2015-09-16
ارسال ها: 303

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

دقیقا
من به کدی خوردم که فقط تو بش اجرا بشه و تو زیشل اجرا نشه!


*** I FIGHT FOR USERS ***

آفلاین

#9 2016-11-20 16:32:20

morealaz
عضو
از : کرمان
ثبت شده: 2016-03-19
ارسال ها: 292

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

stackoverflow نوشته است که:
procName3 ()
{
F=$(ps -aux | sort -k3 | tail -6 | awk 'NR==3' | awk -F ' ' '{print $11}');
echo ${${F}##*/}
}

سعیدجان مشکلت در این قسمته:

echo ${${F}##*/}

که باید به اینصورت باشه:

echo ${F##*/}

اینجا رو نگاه کن:
http://tldp.org/LDP/abs/html/parameter- … html#PSUB2
توضیح قسمت {var##Pattern}$, {var#Pattern}$ رو ببین.

آفلاین

#10 2016-11-20 17:29:50

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

پاسخ: تفاوت خروجی های bash و zsh[حل شد]

سپاس از محمد عزیز..کاملا درست گفتی و مشکل حل شد خدا رو شکر.


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB