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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: alieblice در 25 شهریور 1391، 05:18 ب‌ظ

عنوان: { حل شد } این دستور جایگذین alias کار نمیکند. { حل شد }
ارسال شده توسط: alieblice در 25 شهریور 1391، 05:18 ب‌ظ
سلام دوستان

تو کتاب LPIC-1_In_Nutshell_Oreilly_Edition3.pdf بخش شل اسکریپتینگش یک مثال زده هر کار می کنم کار نمیکنه . صفحه 260

گفته اینو به جایه دستور alias میشه استفاده کرد:

$ lsps () { ls -l; ps; }
ولی این ارور رو میده :
bash: syntax error near unexpected token `('
پیشاپیش ممنون
عنوان: پاسخ : این دستور جایگذین alias کار نمیکند.
ارسال شده توسط: nixoeen در 25 شهریور 1391، 05:51 ب‌ظ
اون علامت $ جزئی از دستور نیست و نباید بنویسیدش!
عنوان: پاسخ : این دستور جایگذین alias کار نمیکند.
ارسال شده توسط: alieblice در 25 شهریور 1391، 06:15 ب‌ظ
ممنون بابت پاسخ.
عجب اشتباه تابلویی من کردم  ](*,). همین چند روز پیش یکی دیگم این اشتباه رو کرده بود من خودم همین حرفه شما بش زدم . باز الان خودم اون اشتباه رو کردم . جالبه.

حالا یک سوال دیگه .
همین دستور رو به صورت چند خطی هم میشه نوشت مثلا مثل این :

$lsps () {
>ls -l $1
>ps aux | grep `/bin/basename $1`
>}

حالا تو ترمینال چه جوری باید چند خطی بنویسم ؟ واردش میشم ولی ازش خارج نمیتونم بشم .
عنوان: پاسخ : این دستور جایگذین alias کار نمیکند.
ارسال شده توسط: doomhammer65ir در 25 شهریور 1391، 06:50 ب‌ظ
اگر بخوای یک فرمانو تو چند خط بنویسی باید به آغاز و پایان فرمان دقت کنی
مثلا یک حلقه توی چند خط :for line in `cat txt`
do
folan
folan
folan
done
درست جاهایی که من اینتر کردم شما هم تو خط فرمان اینتر بزن
خط فرمان به کلید واژه ها حساس هست . مثلا در نمونه بالا به for , do , done
تو بخش foilan ها هم هر جا اینتر کنی یک فرمان جدا شمرده میشه
عنوان: پاسخ : این دستور جایگذین alias کار نمیکند.
ارسال شده توسط: alieblice در 25 شهریور 1391، 06:55 ب‌ظ
از همه دوستان واقعا ممنون . مشکل حل شد . پس علامت هایه < هم مثله علامت $ نباید بزاریم.

پست رو حل شد زدم.
عنوان: پاسخ : این دستور جایگذین alias کار نمیکند.
ارسال شده توسط: nixoeen در 25 شهریور 1391، 10:41 ب‌ظ
همین دستور رو به صورت چند خطی هم میشه نوشت مثلا مثل این :
$lsps () {
>ls -l $1
>ps aux | grep `/bin/basename $1`
>}

به همین طریق که مثال زدی می‌تونی چند خطی هم بنویسی، فقط اون $ و < رو دوباره نباید بنویسی!