کتابخانه‌ی استاندارد · سیستم و ابزار

پوسته os/shell

اجرای فرمان و گرفتن کد خروج، خروجی و خطا با هم.

واردسازی سیستم عامل.پوسته
در این صفحه
  1. گونه‌ها
  2. روال‌ها

بسته‌ی پوسته فرمانی را اجرا می‌کند و همه‌ی نتیجه را، یعنی کد خروج، خروجی و خطا، یک‌جا برمی‌گرداند.

اجرا با متن فرمان فرمان را فقط با فاصله می‌شکند و پوسته‌ای در کار نیست: لوله (|)، هدایت (>) و نقل‌قول کار نمی‌کنند. برای این‌ها sh -c را با اجرا صدا بزنید، مثل نمونه‌ی زیر.

گونه‌ها

نتیجه فرمان CmdResult

ساختار نتیجه فرمان
نتیجه‌ی یک فرمان.
نامانگلیسیگونهتوضیح
codecodeصحیح = 0کد خروج؛ صفر یعنی موفق.
outoutرشته = ""خروجی استاندارد.
errerrرشته = ""خروجی خطا.
os-shell-Run.salam
واردسازی سیستم عامل.پوسته

روال ریشه:
    ناپایا آرگ := وکتور {} برگردان وکتور<رشته>
    دیرکن آرگ.آزادکن()
    آرگ.بیفزا("-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