Exec - ලිනක්ස් විධානය - Unix අණ දීම්

exec - උපක්රමය තෝරාගන්න

සාරාංශය

? ස්විච්ටර්ස් ? තර්කය ? තර්කය ... ?

විස්තර

මෙම විධානය මඟින් එහි තර්ක කිරීම් ක්රියාවට නැංවීම සඳහා උපමාවලින් එකක් හෝ කිහිපයක් පිරිවිතර ලෙස සලකනු ලැබේ. තර්කයන් සම්මත ෂෙල් පයිප්පයක ස්වරූපය ගනී. එක් එක් ආර්ගයක් විධානයක් සඳහා එක් වචනයක් බවට පත් වන අතර සෑම විෙශේෂිත විධානයක් උප ෙපොක්ෙසස් බවට පත්වේ.

ආරම්භය සඳහා ආරම්භක පරාමිතියන් ආරම්භ කළහොත් - පසුව ඒවා විධාන රේඛා ස්විචයන් ලෙස සලකනු ලැබේ නම් සහ නල මාර්ගයේ පිරිවිතරයේ කොටසක් නොවේ. පහත ස්විචයන් දැනට සහය දක්වයි:

අන්තිමේදී

නල මාර්ගයේ නිමැවුමේ අන්තිම පේළිය රඳවා තබයි. සාමාන්යයෙන් අළුත් අළුත් මාර්ගයක් මැකෙනු ඇත.

-

ස්විචයන් අවසන් කිරීම සලකුනු කරයි. මෙම න්යාසයට අනුව තර්කයක් ආරම්භ වන විට එය පළමු ආර්ගයා ලෙස සලකනු ලැබේ.

තර්කය (හෝ ආර්ග යුගල) නම් විස්තර කර ඇති පහත දැක්වෙන ආකාර වලින් එකක් නම්, එය උපකොසි (es) අතර ආදාන සහ ප්රතිදානය පාලනය කිරීමට exec භාවිතා කරයි. එවැනි තර්ක උපකොට්සරයට නොලැබෙනු ඇත. `` < FileName '' fileName ලෙස `` < fileName '' fileName හෝ `` <<'' හෝ වෙනත් මැදිහත්කාර ඉඩක (එනම් `` < fileName '') හෝ වෙනත් තර්කයක් තුල විය හැකිය.

|

නල මාර්ගයේ වෙනම විධාන වෙන් කරයි. කලින් විධානයන් හි සම්මත ප්රතිදානය ඊළඟ විධානයේ ඇති සම්මත ආදාන වෙත නංවනු ලැබේ.

| &

නල මාර්ගයේ වෙනම විධාන වෙන් කරයි. පෙර විධානයන්හි සම්මත නිමැවුම් හා සම්මත දෝෂය ඊළඟ විධානයෙහි සම්මත ආදාන තුලට නංවනු ලැබේ. 2> සහ> සහ.

< fileName

FileName විසින් නම් කරන ලද ගොනුව විවෘත කිරීම සඳහා යොදා ගන්නා ලද පළමු ආම්පන්නය සඳහා සම්මත ආදාන ලෙස භාවිතා කරයි.

<@ fileId

FileId විවෘත ගොනුවක් සඳහා හඳුනාගැනීමේ අංකය විය යුතු අතර, නැවත විවෘත කිරීම සඳහා පෙර ඇමතුමෙන් ලැබෙන අගය. නල මාර්ගයේ පළමු විධානය සඳහා සම්මත ආදාන ලෙස එය භාවිතා කෙරේ. කියවීම සඳහා FileId විවෘත කළ යුතුය.

<< වටිනාකම

පළමු ආඥාව එහි සම්මත ආදාන ලෙස අගය ලබා දෙයි.

> fileName

අවසන් විධානයෙන් සම්මත නිමැවුම් ගොනුවේ නම, fileName ගොනුව වෙත යොමු කෙරෙයි , එහි පෙර අන්තර්ගතය උඩින් ප්රතිස්ථාපනය වේ.

2> fileName

නල මාර්ගයේ සියලු විධිවලින් සම්මත දෝෂය fileName ගොනුවට යොමු කෙරෙනු ඇත , එහි පෙර අන්තර්ගතය නැවත පරාවර්තනය කර ඇත.

> & fileName

අන්තිම විධානයෙන් සහ සියලු විධානයන්ගෙන් සම්මත දෝෂයෙන් සම්මත ප්රතිදානය both fileName , fileName , එහි පෙර අන්තර්ගතය නැවත අධිසරනය කෙරෙනු ඇත.

>> fileName

අවසාන විධානයෙන් සම්මත නිමැවුම් ගොනුවේ නම ලෙසට යොමු කෙරී ඇති අතර එය නැවත ලියුම වෙනුවට එය වැඩිදියුණු කිරීම වෙත යොමු කරයි.

2 >> fileName

නල මාර්ගයේ සියලු විධිවලින් සම්මත දෝෂය fileName ගොනුවට යොමු කෙරෙනු ඇත , එය නැවත ලියන්නේ වෙනුවට එය වැඩි කිරීම වෙනුවට.

>> & fileName

අවසාන විධාන සහ අවසන් විධාන සියල්ලම සම්මත ප්රතිදානය දෙකම ගොනු නාමයට යොමු කරන ලද ගොනුවට යොමු කරනු ලැබේ.

> @ fileId

FileId විවෘත ගොනුවක් සඳහා හඳුනාගැනීමේ අංකය විය යුතු අතර, නැවත විවෘත කිරීම සඳහා පෙර ඇමතුමෙන් ලැබෙන අගය. අවසන් විධානයෙන් සම්මත නිමැවුම් ගොනොඩිගේ ගොනුව වෙත යොමු කෙරී ඇත, ලිවීම සඳහා විවෘත විය යුතුය.

2> @ fileId

FileId විවෘත ගොනුවක් සඳහා හඳුනාගැනීමේ අංකය විය යුතු අතර, නැවත විවෘත කිරීම සඳහා පෙර ඇමතුමෙන් ලැබෙන අගය. නල මාර්ගයේ සියලු විධිවලින් සම්මත දෝෂය fileId ගොනුව වෙත යොමු කෙරෙයි . මෙම ගොනුව ලිවීම සඳහා විවෘත කළ යුතුය.

> & @ fileId

FileId විවෘත ගොනුවක් සඳහා හඳුනාගැනීමේ අංකය විය යුතු අතර, නැවත විවෘත කිරීම සඳහා පෙර ඇමතුමෙන් ලැබෙන අගය. අවසාන විධාන සහ සම්මත විධාන සියල්ලම සම්මත ආයාත දෙකම fileId ගොනුව වෙත යොමු කෙරෙයි . මෙම ගොනුව ලිවීම සඳහා විවෘත කළ යුතුය.

සම්මත නිමැවුම් නැවත යොමු නොකළේ නම්, exec විධානය මඟින් නල මාර්ගයේ අවසාන විධානය වෙතින් සම්මත ප්රතිදානය නැවත ලබා දෙයි. නල මාර්ගයේ අණපනත් අසාමාන්ය ලෙස පිටවීම හෝ මිය යාම හෝ අත්හිටුවීම සිදු කළහොත්, exec ආපසු දෝෂයක් ඇතිවනු ඇති අතර අක්රිය අවසන් කිරීම් විස්තර කරන දෝෂ සහිත පණිවුඩ මගින් දෝෂ පණිවිඩය ඇතුළත් වනු ඇත; errorCode විචල්යය අන්තිම අසාමාන්ය අවසාන වීම පිළිබඳ අමතර තොරතුරු අඩංගු වේ. විධානයන් මඟින් සිය සම්මත දෝෂ ගොනුව වෙත ලියන විට එම සම්මත දෝෂය යළි හරවා යවනු නොලැබේ නම්, exec විසින් දෝෂයක් නැවත ලබා දෙනු ඇත; එම දෝශ පණිවිඩය නල මාර්ගයේ සම්මත නිමැවුම් ඇතුළත් වනු ඇත, ඉන්පසු අසාමාන්ය අග්රස්ථම් පිළිබඳ පණිවුඩ (පසුව නම්), පසුව සම්මත දෝෂය ප්රතිදානය අනුගමනය කරනු ඇත.

ප්රතිඵලය හෝ දෝෂ පණිවිඩයේ අවසන් අක්ෂරය යනු නව ලක්ෂණයක් නම් එම අක්ෂරය සාමාන්යයෙන් ප්රතිඵලය හෝ දෝෂ පණිවිඩය මගින් මකා දැමෙනු ඇත. මෙය ටීඑල් ප්රක්ශේපිත අගයන් සමග ගැලපේ. කෙසේ වෙතත්, -newline නිශ්චිතව දැක්වෙන නම්, නිව්ටන් රේඛාව රඳවා තබා ගනී.

සම්මත ආදාන ප්රතිවිරෝධීව `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` '' '' '' '' '' '' '

අවසාන විචල්යය `` & '' නම්, නල මාර්ගයේ පසුබිම තුළ ක්රියාත්මක වේ. මෙම අවස්ථාවෙහිදී exec විධානය මඟින් නල මාර්ගයේ උප ප්රක්ෂේපණ සඳහා ක්රියාකාරී හඳුනාගැනීම් වන ලැයිස්තුවක් නැවත ලැයිස්තුගත කරනු ඇත. නල මාර්ගයේ අවසාන විධානයෙන් ලැබෙන අවසන් ප්රතිදානය එහි යෙදුම සම්මත නිමැවුම වෙත ගොස් නැවත යොමු නොකෙරේ නම්, සහ නල මාර්ගයේ ඇති සියලු විධිවලින් දෝෂය නිපදවනු ලබන්නේ යළි-යොමුවක් නොලැබුවහොත් යෙදුමගේ සාමාන්ය දෝෂ ගොනුව වෙතය.

සෑම විධානයක් තුළම පළමු විධානය command විධානය ලෙස සැලකේ; tilde-ආදේශනය සිදු කරනු ලැබේ, ප්රතිඵලයේ කිසිදු ස්ලයිසයක් නොමැති නම්, PATH පාරිසරික විචල්යයේ ඇති බහලුම් නම් දෙන ලද නම මගින් ක්රියාත්මක කළ හැකිය. නමේ ස්ලැශයක් අඩංගු නම් එය වත්මන් බහලුම වෙත ලඟා විය හැකි ක්රියාත්මක කළ හැකි ය. විධාන සඳහා විචල්යයන් මත `` glob '' ප්රසාරණය හෝ වෙනත් කවච වැනි ආදේශන සිදු නොවේ.

නැව්ගත කිරීමේ ගැටළු

වින්ඩෝස් (සියලු අනුවාදයන්)

`` @ FileId '' අංකනය භාවිතා කරමින් socket වෙත කියවීම හෝ ලිවීම ක්රියා නොකරයි. සොකට් එකකින් කියවීමෙන්, 16-bit DOS යෙදුම එල්ලවනු ඇත, 32-bit යෙදුම අවසානයේ ගොනු සමඟ නැවත පැමිණේ. යෙදුම වර්ගයේ සොකට් එකක් ලියන විට, තොරතුරු වෙනුවට, කොන්සෝලය වෙත යවනු ලැබේ නම්, එය ඉදිරිපත් කරනු ලැබේ නම්, හෝ එය ඉවතලනු ලැබේ.

Tk console text widget සැබෑ IO හැකියාවන් සපයන්නේ නැත. Tk යටතේ, සම්මත ආදාන සිට යළි හරවා යැවීමේදී, සියලු යෙදුම් ක්ෂණික අවසන් ගොනුවක් දක්නට ලැබේ; සම්මත නිමැවුම් වලට හෝ සාමාන්ය සම්මත දෝෂ වලට යවනු ලබන තොරතුරු අවලංගු කරනු ලැබේ.

Tcl විධානයන් සඳහා තර්කන සඳහා මංපෙත් විච්ඡේර්ධකය ලෙස ඉදිරියට හෝ පසුගාමී ස්ලයිසයන් පිළිගනු ලැබේ. යෙදුමක් සෑදීමේදී, යෙදුම සඳහා නිශ්චිතව දක්වන ලද නම, මාර්ගයේ වෙන්කිරීම් ලෙස ඉදිරි හෝ පසුගාමි ස්ලිප් අඩංගු විය හැකිය. කෙසේ වෙතත්, බොහෝ වින්ඩෝස් යෙදුම ඉදිරි පෙරලීම් සමඟ තර්ක පිළිගන්නා අතර විකල්ප මාර්ගයේ සීමාවන් සහ පාදමේ පාදයන් පමණක් ඇත. ඉදිරි රේසලයන් සහිත මාර්ග නාමයක් සඳහන් කරන ඕනෑම තර්කයක් backslash අක්ෂරය භාවිතා කිරීමට ස්වයංක්රීයව නොකෙරේ. තර්ක ඛණ්ඩකයක් ලෙස පෙරනිමි ස්ලැෂේෂයන් අඩංගු නම්, එය ක්රමලේඛය අනුව, එය මාර්ග නාමයක් ලෙස පිළිගෙන ඇති හෝ පිළිගත නොහැකි ය.

අතිරේක වශයෙන්, 16-bit DOS හෝ Windows 3.X යෙදුම අමතන විට, සියලු මාර්ග නාමයන් කෙටි, සැඟවුණු, මාර්ග ආකෘතිය භාවිතා කළ යුතුය (උදාහරණ ලෙස `applba ~ 1.def '' වෙනුවට 'applbakery.default' 'වෙනුවට' ).

මංපෙතකට පේළි දෙකක් හෝ ඊට වැඩි ඉදිරි හෝ පසුම්බි ස්ලයිසින් ජාල මාවතට යොමු වේ. උදාහරණයක් ලෙස, root ඩිරෙක්ටරයේ සරල සංකෝචනය c: / subdirectory / windows / system සමඟ c: // windows / system (දෙකක් කපා ඇති අතර), වින්ඩෝස් නමින් හැඳින්වෙන පරිගණකයේ පද්ධතිය ලෙස හඳුන්වන සවිකරන ලක්ෂ්යය හඳුන්වනු ලබයි . c: / නොසලකා හරිනු ලබයි), සහ වර්තමාන පරිගණකයේ ඇති බහලුම විස්තර කෙරෙන c: / windows / system වලට සමාන නොවේ. ගොනු සබැඳි විධානය අනුකලන කිරීම සඳහා යොදාගත යුතුය.

වින්ඩෝස් එන්ටී

යෙදුමක් ක්රියාවට නැංවීමට උත්සාහ කරන විට, එය නියම කරන ලද පරිදි පළමු නම සොයන්න . ඉන්පසු, නිශ්චිත නමක්, .com , .exe , සහ .bat නිශ්චිත නමේ අවසානයට එකතු වන අතර එය දිගු නම සොයයි. යෙදුම් නාමයේ කොටසක් ලෙස ඩිරෙක්ටරි නම සඳහන් නොකලේ නම්, පහත සඳහන් ඩිරෙක්ටරි ස්වයංක්රීයව පරීක්ෂා කරනු ලැබේ:

Tcl ක්රියාත්මක කළ හැකි බහලුම ප්රවේශනය කරන ලද බහලුම.
වත්මන් නාමාවලිය.
වින්ඩෝස් NT 32-bit පද්ධති බහලුම.
Windows NT 16-bit පද්ධති බහලුම.
වින්ඩෝස් එටිසලාට් මුල් නාමාවලිය.
මාර්ගයෙහි ලැයිස්තු ගත කර ඇති නාමාවලි.

Dir සහ copy වැනි shell shell ආම්පන්න ක්රියාත්මක කිරීම සඳහා, ඇමතියේ ඇති අවශ්ය විධානය වෙත `` cmd.exe / c '' ප්රක්ශේපණය කළ යුතුය.

වින්ඩෝස් 95

යෙදුමක් ක්රියාවට නැංවීමට උත්සාහ කරන විට, එය නියම කරන ලද පරිදි පළමු නම සොයන්න . ඉන්පසු, නිශ්චිත නමක්, .com , .exe , සහ .bat නිශ්චිත නමේ අවසානයට එකතු වන අතර එය දිගු නම සොයයි. යෙදුම් නාමයේ කොටසක් ලෙස ඩිරෙක්ටරි නම සඳහන් නොකලේ නම්, පහත සඳහන් ඩිරෙක්ටරි ස්වයංක්රීයව පරීක්ෂා කරනු ලැබේ:

Tcl ක්රියාත්මක කළ හැකි බහලුම ප්රවේශනය කරන ලද බහලුම.
වත්මන් නාමාවලිය.
වින්ඩෝස් 95 පද්ධති බහලුම.
වින්ඩෝස් 95 නිවස්න නාමාවලිය.
මාර්ගයෙහි ලැයිස්තු ගත කර ඇති නාමාවලි.

Dir සහ copy වැනි shell shell ආම්පන්න ක්රියාත්මක කිරීම පිණිස, ඇමතුම අවශ්යය විධානය වෙත `` `` `` `` `` `` `` `` `` `` `` command.com / c '

16-bit DOS යෙදුම කොන්සෝලයෙන් සම්මත ආදාන කියවීමෙන් පසුව ඉවත් වී පසුව 16-bit DOS යෙදුම් ධාවනය කරනු ලබන විට දැනටමත් වසා දමා ඇති සම්මත ආදාන දකිනු ඇත. 32-bit යෙදුම් මෙම ගැටළුව නොමැති අතර 16-bit DOS යෙදුම පසුව සම්මත ආදාන සංවෘත වන බව සිතීමෙන් පවා නිසි ලෙස ක්රියා කරයි. මෙම අවස්ථාවේදී මෙම දෝෂය සඳහා දැනටමත් වදනක් නොමැත.

NUL: උපාංගය සහ 16-bit යෙදුම අතර නිතරම යොමුකිරීම සෑම විටම ක්රියාත්මක නොවේ. NUL වෙතින් යළි හරවා යැවීමේදී , සමහර යෙදුම එල්ලවනු ඇත, අනෙකුන්ට `0x01 '' bytes අසීමිත ප්රවාහයක් ලැබෙනු ඇත, සහ සමහරක් සත්ය වශයෙන්ම ක්ෂණිකව අවසන් ගොනුවක් ලැබෙනු ඇත; හැසිරීම යෙදුම තුලට එකතු කර ඇති දෙයක් මත රඳා පවතී. 4K හෝ ඊට වැඩි NUL ට වඩා යළි හරවා යැවීමේදී , සමහර යෙදුම් එල්ලවනු ඇත. ඉහත ගැටළු 32-bit යෙදුම් සමඟ සිදු නොවේ.

සියලු DOS 16-bit යෙදුම් සමමුහුර්ත ධාවනය වේ. 16-bit DOS යෙදුමක් වෙත නල මාර්ගයෙන් සියලුම ප්රදාන ආදානය තාවකාලික ගොනුවක් බවට එකතු කර ඇත; 16-bit DOS යෙදුම ක්රියාත්මක කිරීමට පෙර නලයේ අනෙක් කෙළවර වසා දැමිය යුතුය. 16-bit DOS යෙදුමෙන් සෑම ප්රමිති නිමැවුමක් හෝ දෝෂයක් හෝ නලයක් වෙත තාවකාලික ගොනු එකතු කරනු ලැබේ; තාවකාලික ලිපිගොනු ඊළඟ අදියර වෙත යළි හරවා යැවීමට පෙර යෙදුම අවසන් කළ යුතුය. මෙය වින්ඩෝස් 95 දෝෂය ක්රියාත්මක කිරීම සඳහා වන වෑයමක් වන අතර, Windows 95 DOS සිප්පි ප්ලාස්මා හැසිරවිය හැක්කේ කෙසේද යන්නයි.

Command.com වැනි සමහර යෙදුම් එකිනෙකට සම්බන්ධ නොවිය යුතුය. කොන්සෝලය කවුළුව සෘජු ප්රවේශය ලබා ගැනීම සඳහා, ඔවුන්ගේ සම්මත ආදානය සහ ලිවීම ඔවුන්ගේ සම්මත ප්රතිදාන වලට කියවීම වෙනුවට කියවීමට වඩා, ටීඑල් එල්ලීමට හෝ හෝ ඔවුන්ගේ පෞද්ගලික කොන්සෝල කවුළුව ඔවුන්ට ලබා ගත නොහැකි නම් පද්ධතිය අවහිර නොකරයි.

මැකින්ටොෂ්

Exec විධානය ක්රියාත්මක කර නැති අතර මැකින්ටොෂ් යටතේ නොමැත.

යුනික්ස්

Exec විධානය සම්පූර්ණයෙන්ම ක්රියාත්මක වන අතර එය විස්තර කර ඇති ආකාරයට ක්රියා කරයි.

බලන්න

දෝෂය (n), විවෘත (n)

මූලපදය

ක්රියාත්මක කිරීම, නලමාර්ග, හරවා යැවීම, උප පරි process

වැදගත්: ඔබේ විශේෂ පරිගණකයේ විධානයක් භාවිතා කරන ආකාරය බැලීමට මිනිසා විධානය ( % man ) භාවිතා කරන්න.