Exec - Linux Command - Unix Command

exec - ინკორპორირებული სუბპროცენტი (es)

სინოფსისი

შეასრულოს ? კონცენტრატორები ? არგ ? არგ ?

აღწერა

ეს ბრძანება განიხილავს თავის არგუმენტებს, როგორც ერთი ან მეტი ქვეპროცესის დაზუსტება. არგუმენტები შეესაბამება სტანდარტული ჭურვი მილსადენის სახეს, სადაც თითოეული არგ არის ბრძანების ერთი სიტყვა, ხოლო თითოეული მკაფიო ბრძანება ხდება ქვეპროცესი.

იმ შემთხვევაში, თუ თავდაპირველი არგუმენტები დაიწყება, მაშინ ისინი განიხილება როგორც ბრძანებათა სტრიქონები და არ არის ნაწილი მილსადენის სპეციფიკა. ამჟამად ჩართულია შემდეგი კონცენტრატორები:

შენიშვნა

მილსადენის გამომავალ მონაკვეთში იფუნქციონირებს ახალი ხაზი. ჩვეულებრივ, გადმოტვირთვის ახალი ხაზი წაიშლება.

-

აღნიშნავს ბოლოს კონცენტრატორები. არგუმენტი მას შემდეგ განიხილება, როგორც პირველი არგუმენტიც კი, თუ იგი იწყება - .

თუ არგ (ან არგუსტის წყვილი) აქვს ქვემოთ ჩამოთვლილ ერთ-ერთი ფორმის გამოყენებას, მაშინ იგი გამოიყენება შემანარჩუნებელი კონტროლისა და გამონაბოლქვის ნაკადი სუბპროცესი (ებ) შორის. ასეთი არგუმენტები არ გადაეცემა ქვეპროცესს (es). `` < FileName '' ფაილში შეიძლება იყოს ცალკე არგუმენტი `` <'"ან იმავე არგუმენტში, სადაც არ არის ინტერვენცია სივრცეში (ანუ` ` ფაილის სახელი ").

|

მილსადენის მკაფიო ბრძანებები განცალკევებს. წინა ბრძანების სტანდარტული გამომავალი იქნება შემდეგი ბრძანების სტანდარტული შეყვანა.

| &

მილსადენის მკაფიო ბრძანებები განცალკევებს. ორივე ბრძანება და წინა ბრძანების სტანდარტული შეცდომა იქნება შემდეგი ბრძანების სტანდარტული შეყვანა. ამ ფორმის გადამისამართება გადალახავს ფორმებს, როგორიცაა 2> და>.

< fileName

FileName მიერ დასახელებული ფაილი გახსნილია და გამოიყენება როგორც მილსადენის პირველი ბრძანების სტანდარტული შეყვანა.

<@ ფაილი Id

FileId უნდა იყოს იდენტიფიკატორი ღია ფაილი, როგორიცაა დაბრუნების მნიშვნელობა წინა ზარი გახსნა . იგი გამოიყენება როგორც მილსადენის პირველი ბრძანების სტანდარტული შეყვანა. FileId უნდა გახსნას კითხვა.

<< მნიშვნელობა

ღირებულება გადაეცემა პირველი ბრძანებას, როგორც მისი სტანდარტული შეყვანა.

> ფაილის სახელი

სტანდარტული გამომავალი ბოლო ბრძანება გადამისამართება ფაილი დაასახელა fileName , overwriting მისი წინა შინაარსი.

2> ფაილის სახელი

მილსადენის ყველა ბრძანების სტანდარტული შეცდომა გადამისამართება ფაილი დაასახელა fileName , overwriting მისი წინა შინაარსი.

> და ფაილის სახელი

ორივე ბრძანება უკანასკნელი ბრძანებისაგან და სტანდარტული შეცდომით ყველა ბრძანებით გადამისამართება ფაილი დაასახელა fileName , overwriting მისი წინა შინაარსი.

>> ფაილის სახელი

სტანდარტული გამომავალი ბოლო ბრძანება გადამისამართება ფაილი დაასახელა fileName , მისდევდნენ მას, ვიდრე overwriting მას.

2 >> ფაილის სახელი

მილსადენის ყველა ბრძანების სტანდარტული შეცდომა გადამისამართება ფაილი დაასახელა fileName , მასზე დაამატებ, ვიდრე გადაწერა.

>> და ფაილის სახელი

ორივე ბრძანება უკანასკნელი ბრძანებისაგან და სტანდარტული შეცდომით ყველა ბრძანებით გადამისამართება ფაილი დაასახელა fileName , მასზე დაამატეთ, ვიდრე გადაწერას.

> @ fileId

FileId უნდა იყოს იდენტიფიკატორი ღია ფაილი, როგორიცაა დაბრუნების მნიშვნელობა წინა ზარი გახსნა . სტანდარტული გამომავალი ბოლო ბრძანება გადამისამართება fileId ფაილი, რომელიც უნდა გაიხსნა წერილობით.

2> @ fileId

FileId უნდა იყოს იდენტიფიკატორი ღია ფაილი, როგორიცაა დაბრუნების მნიშვნელობა წინა ზარი გახსნა . მილსადენის ყველა ბრძანების სტანდარტული შეცდომა გადამისამართება fileId ფაილი. ფაილი უნდა გაიხსნას წერილობით.

> & @ fileId

FileId უნდა იყოს იდენტიფიკატორი ღია ფაილი, როგორიცაა დაბრუნების მნიშვნელობა წინა ზარი გახსნა . ორივე ბრძანება ბოლო ბრძანებისაგან და სტანდარტული შეცდომით ყველა ბრძანებით გადამისამართება fileId ფაილი. ფაილი უნდა გაიხსნას წერილობით.

თუ სტანდარტული გამომავალი არ გადამისამართება მაშინ Exec command returns სტანდარტული გამომავალი საწყისი ბოლო ბრძანება მილსადენის. იმ შემთხვევაში, თუ მილსადენის გასასვლელში ნებისმიერი ბრძანება არღვევს ან მოკლეს ან შეჩერებულია, მაშინ შემსრულებელი შეცდომას დააბრუნებს და შეცდომის შეტყობინებაში მიეთითება მილსადენის გამომავალი, რასაც მოჰყვება შეცდომები, რომლებიც აღწერს პათოლოგიური შეწყვეტას; შეცდომის ცვლადი შეიცავს დამატებით ინფორმაციას ბოლო ანომალური შეწყვეტის შესახებ. თუ რომელიმე ბრძანება წერს თავის სტანდარტული შეცდომის ფაილს და სტანდარტული შეცდომა არ გადამისამართება, მაშინ შემსრულებელი შეცდომას დააბრუნებს; შეცდომის შეტყობინებაში იქნება მილსადენის სტანდარტული გამომუშავება, რასაც მოჰყვება შეტყობინებები პათოლოგიური შეწყვეტის შესახებ (ასეთის არსებობის შემთხვევაში), რასაც მოჰყვება სტანდარტული შეცდომის გამომუშავება.

თუ შედეგი ან შეცდომის ბოლო ხასიათის არის ახალი ხაზი, მაშინ ეს ხასიათი ჩვეულებრივ წაშლილია შედეგიდან ან შეცდომის შეტყობინებადან. ეს შეესაბამება სხვა Tcl დაბრუნების ღირებულებებს, რომლებიც ჩვეულებრივ არ ახდენენ newlines- ს. თუმცა, თუ საიდუმლო ხაზის მითითებაა მაშინ გადმოტვირთულია ახალი ხაზი.

თუ სტანდარტული შეყვანა არ არის გადამისამართებული `` <'' ან `` `<< '' ან` `<@ '', მაშინ მილსადენის პირველი ბრძანების სტანდარტული შეყვანა ამოღებულია განაცხადის ამჟამინდელი სტანდარტული შეყვანისგან.

თუ უკანასკნელი არგუმენტი `` და '' არის, მაშინ მილსადენი შესრულდება ფონზე. ამ შემთხვევაში მმართველი ბრძანება დაბრუნდება იმ სიაში, რომლის ელემენტებიც მილსადენის ყველა ქვეპროცესის პროცესის იდენტიფიკატორებია. მილსადენის ბოლო ბრძანების სტანდარტული გამომუშავება წავა განაცხადის სტანდარტული გამოსავლის შემთხვევაში, თუ იგი არ არის გადამისამართება და მილსადენის ყველა ბრძანების მხრიდან შეცდომა გამოვა განაცხადის სტანდარტული შეცდომის ფაილის გადაგზავნაში, თუ გადამისამართება არ მოხდება.

თითოეული ბრძანების პირველი სიტყვა ბრძანების სახით არის მიღებული; tilde- ჩანაცვლება ხორციელდება, ხოლო თუ შედეგი არ შეიცავს ფრაზებს, მაშინ PATH- ის გარემოს ცვლადის დირექტორიები ეძებს მოცემულ სახელზე შესრულებას. თუ სახელი შეიცავს სლავს, მაშინ იგი უნდა აღინიშნოს მიმდინარე დირექტორიაში შესასრულებლად. არ არის `გლობუსის 'გაფართოება ან სხვა ჭურვი-მსგავსი ჩანაცვლებითი ბრძანებების შესრულება.

პორტაბელურობის საკითხები

Windows (ყველა ვერსია)

წაკითხვის ან დაწერისას სოკეტში , `` @ ფაილის id '' ნოტაციაში არ მუშაობს. როდესაც კითხულობს სოკეტს, 16-bit DOS აპლიკაცია გათიშეთ და 32-bit პროგრამა დაუყოვნებლივ დაბრუნდება ბოლოს-ის ფაილი. როდესაც რომელიმე სახის განცხადება წერს სკეტს, ინფორმაცია ნაცვლად გაგზავნილია კონსოლზე, თუ ერთი იმყოფება, ან გაუქმებულია.

TK კონსოლი ტექსტის ვიჯეტის არ უზრუნველყოფს რეალური სტანდარტული IO შესაძლებლობები. Tk- ის ფარგლებში, სტანდარტული შეყვანისგან გადამისამართებისას, ყველა განაცხადი იხილავს დაუყოვნებლივ ბოლოს; სტანდარტული გამომავალი ან სტანდარტული შეცდომის გადამისამართება გაუქმდება.

ან წინ გადადგმული ნაბიჯები გადალახულია, როგორც გზავნილის გამყოფი, არგუმენტებით Tcl ბრძანებებს. აპლიკაციის შესრულებისას, განაცხადისთვის მითითებულმა გზამ შეიძლება შეიცავდეს წინ ან უკან გადანაწილება, როგორც გზა გამყოფი. გაითვალისწინეთ, რომ Windows- ის უმეტესობა არგუმენტებს წინ გადადგმულ ნაბიჯებს მხოლოდ პარამეტრების დელიმიტერებისა და ბატალიშების მხოლოდ ბილიკებში იღებს. ნებისმიერი არგუმენტი, რომელიც მითითებულია გეზის სახელით წინასწარ განსაზღვრული ფრაზებით ავტომატურად არ იქნება კონვერტირებული, გამოიყენოს backslash ხასიათი. იმ შემთხვევაში, თუ არგუმენტი შეიცავს წინ გადადგმულ ნაბიჯებს, ის შეიძლება იყოს ან არ შეიძლება აღიარებული იყოს როგორც გზავნილის სახით, პროგრამის მიხედვით.

გარდა ამისა, 16-bit DOS ან Windows 3.X აპლიკაციის დარეკვისას ყველა ბილიკანმა უნდა გამოიყენოს მოკლე, cryptic, path ფორმატში (მაგ., Applpakery.default- ის ნაცვლად `` applba ~ 1.def ''. ).

ორი ან მეტი წინ ან უკან გადაკეტვა გზის რიგში გზის გზას ეხება. მაგალითად, root დირექტორიაში c: / ქვედანაყოფის / ფანჯრის / სისტემით მარტივი კონტალაცია C: // windows / system (ორი slashes ერთად) გამოიმუშავებს, რომელიც მიუთითებს მთაზე, რომელსაც ეწოდება სისტემა Windows- ზე (და c: / იგნორირებულია), და არ არის თანაბარი c: / windows / system , რომელიც აღწერს დირექტორია მიმდინარე კომპიუტერი. ფაილში გაწევრიანების ბრძანება უნდა იქნას გამოყენებული ფაილური კომპონენტების შერწყმაზე.

Windows NT

განცხადების შეტანისას, შეასრულეთ პირველი ძიებები სახელით, როგორც მითითებულია. შემდეგ, იმისათვის, რომ .com , .exe და .bat დაემატება მითითებულ დასახელებას და ის ეძებს უფრო დიდ სახელს. იმ შემთხვევაში, თუ დირექტორია სახელი არ იყო მითითებული განაცხადის სახელის ნაწილად, მაშინ ავტომატურად ჩხრეკა, როდესაც განაცხადის განთავსების მცდელობა:

დირექტორია, საიდანაც Tcl შესრულებადი დატვირთული იყო.
მიმდინარე დირექტორია.
Windows NT 32-bit სისტემის დირექტორია.
Windows NT 16-bit სისტემის დირექტორია.
Windows NT სახლის დირექტორია.
გზავნილის მითითებები.

იმისათვის, რომ შეასრულოს ჭურვი აგებული ბრძანებები, როგორიცაა რეჟ და ასლი , Caller უნდა prepend `` cmd.exe / გ '' სასურველი ბრძანება.

Windows 95

განცხადების შეტანისას, შეასრულეთ პირველი ძიებები სახელით, როგორც მითითებულია. შემდეგ, იმისათვის, რომ .com , .exe და .bat დაემატება მითითებულ დასახელებას და ის ეძებს უფრო დიდ სახელს. იმ შემთხვევაში, თუ დირექტორია სახელი არ იყო მითითებული განაცხადის სახელის ნაწილად, მაშინ ავტომატურად ჩხრეკა, როდესაც განაცხადის განთავსების მცდელობა:

დირექტორია, საიდანაც Tcl შესრულებადი დატვირთული იყო.
მიმდინარე დირექტორია.
Windows 95 სისტემის დირექტორია.
Windows 95 სახლის დირექტორია.
გზავნილის მითითებები.

იმისათვის, რომ შეასრულოს shell builtin ბრძანებები, როგორიცაა რეჟ და ასლი , Caller უნდა prepend `` command.com / გ '' სასურველი ბრძანება.

მას შემდეგ, რაც 16-bit DOS აპლიკაცია წაიკითხა სტანდარტული შეყვანის კონსოლიდან და შემდეგ დატოვა, ყველა შემდგომ აწარმოებს 16-bit DOS აპლიკაციებს დაინახავთ სტანდარტული შეყვანისას, როგორც უკვე დაიხურა. 32-ბიტიანი პროგრამა არ გააჩნია ეს პრობლემა და სწორად აწარმოებს, 16-bit DOS აპლიკაციის შემდეგაც კი ფიქრობს, რომ სტანდარტული შეყვანის დახურვა. ამ დროისთვის არ არსებობს ცნობილი სამუშაო გარჩევა.

გადამისამართება NUL- ს შორის: მოწყობილობა და 16-ბიტიანი პროგრამა ყოველთვის არ მუშაობს. როდესაც NUL- ის გადამისამართება ხდება, ზოგიერთი აპლიკაცია შეიძლება გათიშოს, სხვები მიიღებენ უსასრულო ნაკადი `` 0x01 ~ "ბაიტებში და ზოგი მათგანს დაუყოვნებლივ მიიღებს დაუყოვნებლივ დასრულებას; ქცევა, როგორც ჩანს, დამოკიდებულია განაცხადში თავად შედგენილი. როდესაც გადამისამართება მეტი 4K ან სხვა NUL:, ზოგიერთი პროგრამები გათიშეთ. აღნიშნული პრობლემები არ მოხდება 32-ბიტიანი პროგრამებით.

ყველა DOS 16-ბიტიანი აპლიკაციები სინქრონულად აწარმოებს. მილსადენიდან ყველა სტანდარტული შეყვანა 16-bit DOS აპლიკაციისთვის არის შედგენილი დროებითი ფაილისთვის; მილის მეორე დასასრული უნდა დაიხუროს, სანამ 16-bit DOS განაცხადი იწყებს შესრულებას. ყველა სტანდარტული გამომავალი ან შეცდომა 16-bit DOS აპლიკაციიდან მილსადენის სახით შედგენილია დროებითი ფაილების სახით; განაცხადი უნდა შეწყდეს დროებითი ფაილების გადასატანად მილსადენის მომდევნო ეტაპზე. ეს არის იმის გამო, რომ Windows 95 შეცდომისთვის მუშაობისას მილებია, ხოლო სტანდარტული Windows 95 DOS shell- ის მილები თავად ხორციელდება.

გარკვეული პროგრამები, როგორიცაა command.com , არ უნდა შესრულდეს interactively. აპლიკაციები, რომლებიც პირდაპირ შედიხართ კონსოლური ფანჯარაში, ვიდრე მათი სტანდარტული შეყვანისაგან და შეყვანა მათი სტანდარტული გამომავალიდან, შესაძლოა, ვერ მოხერხდეს Tcl- ზე, ან თუნდაც პერსონალური კონსოლი ფანჯარა არ მიუწვდება მათთვის.

მაკინტოში

შესრულების ბრძანება არ ხორციელდება და მაიკროსოფტის ქვეშ არ არსებობს.

Unix

შესრულების ბრძანება სრულად ფუნქციონალურია და აღწერილია.

იხილეთ ასევე

შეცდომა (n), ღია (n)

საკვანძო სიტყვები

შესრულება, მილსადენი, გადამისამართება, ქვეპროცესი

მნიშვნელოვანია: გამოიყენეთ კაცი ბრძანება ( % man ), რათა ნახოთ თუ როგორ ბრძანება გამოიყენება თქვენს კომპიუტერში.