پوسته os/shell
اجرای فرمان و گرفتن کد خروج، خروجی و خطا با هم.
واردسازی سیستم عامل.پوسته
بستهی پوسته فرمانی را اجرا میکند و همهی نتیجه را، یعنی کد خروج، خروجی و خطا، یکجا برمیگرداند.
اجرا با متن فرمان فرمان را فقط با فاصله میشکند و پوستهای در کار نیست: لوله (|)، هدایت (>) و نقلقول کار نمیکنند. برای اینها sh -c را با اجرا صدا بزنید، مثل نمونهی زیر.
گونهها
نتیجه فرمان CmdResult
ساختار نتیجه فرماننتیجهی یک فرمان.
| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| code | code | صحیح = 0 | کد خروج؛ صفر یعنی موفق. |
| out | out | رشته = "" | خروجی استاندارد. |
| err | err | رشته = "" | خروجی خطا. |
واردسازی سیستم عامل.پوسته
روال ریشه:
ناپایا آرگ := وکتور {} برگردان وکتور<رشته>
دیرکن آرگ.آزادکن()
آرگ.بیفزا("-n")
آرگ.بیفزا("سلام")
ن := پوسته.اجرا("echo"، آرگ)
سرچاپ ن.code، "[" + ن.out + "]"
ن۲ := پوسته.اجرا با متن فرمان("echo یک دو سه")
سرچاپ ن۲.code، "[" + ن۲.out + "]"
ناپایا آرگ۲ := وکتور {} برگردان وکتور<رشته>
دیرکن آرگ۲.آزادکن()
آرگ۲.بیفزا("-c")
آرگ۲.بیفزا("echo خطا >&2; exit 3")
ن۳ := پوسته.اجرا("sh"، آرگ۲)
سرچاپ ن۳.code، "[" + ن۳.err + "]"
سرچاپ پوسته.اجرای پوسته("true")، پوسته.اجرای پوسته("false") != ۰
پایانخروجی0 [سلام]
0 [یک دو سه
]
3 [خطا
]
0 true
روالها
اجرا Run
روال اجرا(command: رشته، args: وکتور<رشته>): نتیجه فرمانبرنامه را با آرگومانهای جدا اجرا میکند و منتظر میماند تا تمام شود.
نمونهی این مورد همراه با موارد بالاتر آمده است: os-shell-Run.salam
اجرا با متن فرمان Exec
روال اجرا با متن فرمان(command: رشته): نتیجه فرمانمتن فرمان را با فاصله به برنامه و آرگومانها میشکند و اجرا میکند؛ بدون پوسته.
نمونهی این مورد همراه با موارد بالاتر آمده است: os-shell-Run.salam
اجرای پوسته System
روال اجرای پوسته(command: رشته): صحیحفرمان را در پوستهی واقعی (
/bin/sh یا cmd) اجرا میکند و فقط کد خروج را برمیگرداند؛ خروجی مستقیم چاپ میشود.نمونهی این مورد همراه با موارد بالاتر آمده است: os-shell-Run.salam