POSIX පද්ධති මත (උදා: ලිනක්ස්, මැකෝස්), අවම වශයෙන් ෂෙල් පර්යන්තයකින් ආරම්භ කළ වැඩසටහන් සඳහා (උදා: ඒවායින් බොහොමයක්), මම නිර්දේශ කරන්නේ GNU කේතීකරණ සම්මුතීන් (පොදු තර්ක නාමයන් ද ලැයිස්තුගත කර ඇති) භාවිතා කර POSIX උපයෝගිතා මාර්ගෝපදේශ සොයා බලන්න , හිමිකාර මෘදුකාංග සඳහා පවා:
සැමවිටම හැසිරවිය යුතු --versionඅතර--help (ඒවා පවා /bin/trueපිළිගනී !!). මම මෘදුකාංග කතුවරු පේන්නේ නෑ ශාප --help, මම ඔවුන්ට වෛර කරනවා (නිසා prog --help තමයි පළමු විධාන මම නව වැඩසටහන පිළිබඳ උත්සාහ කරනවා)! බොහෝ විට --helpකෙටි ලෙස දැක්විය හැක-h
තිබිය --helpපණිවිඩය ලැයිස්තුව සියළුම විකල්ප (ඔබ ඔවුන් බොහෝ ... එම නඩුව ලැයිස්තුව වඩාත් පොදු අය ඇති අතර මිස පැහැදිලි ලෙසම ඇතැම් යොමු manපිටුවක් හෝ සමහර URL එක) සහ විකල්ප පෙරනිමි අගයන්, හා සමහර විට වැදගත් (සහ වැඩසටහන-විශේෂිත ) පරිසර විචල්යයන්. විකල්ප තර්ක දෝෂය මත මෙම විකල්ප ලැයිස්තු පෙන්වන්න.
පිළිගත -aකෙටි තර්කය (තනි ලිපිය) හා සමහර සමාන ඇති --long-argumentනිසා, -a2 --long-argument=2, --long-argument 2, ඇත්ත වශයෙන්ම ඔබට (කලාතුරකින් භාවිතා කරන විකල්ප සඳහා) යම් --only-long-argumentනමක් තිබිය හැකිය; අතිරේක විකල්පයන් නොමැතිව මෝඩල් තර්ක සඳහා -cfසාමාන්යයෙන් හසුරුවනු ලැබේ -c -f. එබැවින් ඔබේ -argument:valueයෝජනාව අමුතුයි, එසේ කිරීමට මම නිර්දේශ නොකරමි.
GLIBC භාවිතා getopt_long ෙහෝ ඊට වඩා ෙහොඳ (උදා: argp_parse , OCaml එය ගණන්වල Argමොඩියුලය , ...)
බොහෝ විට භාවිතා -(ඔබ, හසුරුව කරන්න බැරි නම් සම්මත ආදානය සහ ප්රතිදානය සඳහා /dev/stdinසහ /dev/stdoutඔවුන් නැති කිහිපය මෙහෙයුම් පද්ධති මත පවා)
බොහෝ විකල්ප විකල්ප සම්මුතීන් නැවත භාවිතා කිරීමෙන් සමාන වැඩසටහන් වල හැසිරීම අනුකරණය කිරීම ; විශේෂයෙන් -nවියළි ධාවනය සඳහා (à la make), -hඋදව් -vසඳහා, වාචිකතාව සඳහා යනාදිය ...
--විකල්ප සහ ගොනුව හෝ වෙනත් තර්ක අතර බෙදුම්කරු ලෙස භාවිතා කරන්න
ඔබේ වැඩසටහන stdinisatty ට වඩා පරීක්ෂා කිරීමට භාවිතා කරන්නේ නම් (සහ එම අවස්ථාවේ දී "අන්තර්ක්රියාකාරීව" හැසිරේ), අන්තර්ක්රියාකාරී නොවන මාදිලිය බල කිරීමට විකල්පයක් සපයන්න, ඒ හා සමානව ඔබේ වැඩසටහනට GUI අතුරුමුහුණතක් තිබේ නම් (සහ X11 ඩෙස්ක්ටොප් එකේ පරීක්ෂණ ) කණ්ඩායමේ හෝ විධාන රේඛාවේ භාවිතා කළ හැකිය.getenv("DISPLAY")
සමහර වැඩසටහන් (උදා gcc) වක්ර තර්ක ලැයිස්තු පිළිගනී, එබැවින් @somefile.txtඅර්ථය වන්නේ වැඩසටහන් තර්ක කියවීම somefile.txt; ඔබේ වැඩසටහන ඉතා විශාල තර්ක රාශියක් පිළිගන්නා විට මෙය ප්රයෝජනවත් වේ (ඔබේ කර්නලයට වඩා වැඩි ARG_MAX)
BTW, ඔබේ වැඩසටහන සහ සුපුරුදු ෂෙල් වෙඩි සඳහා ස්වයංක්රීය සම්පූර්ණ පහසුකම් පවා එකතු කළ හැකිය (වැනි bashහෝ zsh)
සමහර පැරණි යුනික්ස් විධානයන්ට (උදා dd, හෝ පවා sed) historical තිහාසික අනුකූලතාව සඳහා අමුතු විධාන තර්ක ඇත. ඔවුන්ගේ නරක පුරුදු අනුගමනය නොකිරීමට මම නිර්දේශ කරමි (ඔබ ඒවායින් වඩා හොඳ ප්රභේදයක් සාදන්නේ නැත්නම්).
ඔබගේ මෘදුකාංග සම්බන්ධ විධාන රේඛාව වැඩසටහන් මාලාවක් නම්, ආභාසය ලබා GIT (ඔබ නියත වශයෙන්ම සංවර්ධන මෙවලමක් ලෙස භාවිතා කරන), පිළිගත්තේය git helpහා git --helpහා බොහෝ gitsubcommandහාgitsubcommand--help
දුර්ලභ අවස්ථාවන්හිදී ඔබ භාවිතා කළ හැකිය argv[0](ඔබේ වැඩසටහනේ සිම්ලින්ක් භාවිතා කිරීමෙන්), උදා: වෙනස් හැසිරීමක් ( සීමිත කවචයක්) ඇති bashපරිදි ආයාචනය කිරීම . නමුත් මම සාමාන්යයෙන් එසේ කිරීම නිර්දේශ නොකරමි. ඔබේ වැඩසටහන ෂෙබාං භාවිතා කරමින් ස්ක්රිප්ට් පරිවර්තකයෙකු ලෙස භාවිතා කළ හැකි නම් එය අර්ථවත් විය හැකිය, එනම් පළමු පේළියේ ක්රියාත්මක කිරීම (2) . ඔබ එවැනි උපක්රම කරන්නේ නම්, පණිවිඩ ඇතුළුව ඒවා ලේඛනගත කිරීමට වග බලා ගන්න .rbash#!--help
POSIX හි කවචය තර්ක විතර්ක කරන බව මතක තබා ගන්න ( ඔබේ වැඩසටහන ක්රියාත්මක කිරීමට පෙර !), එබැවින් ෂෙල් වලින් ගැලවීමට අවශ්ය විකල්පවල අක්ෂර (වැනි හෝ හෝ ) අවශ්ය වීමෙන් වළකින්න .*$~
සමහර අවස්ථා වලදී, ඔබට ඔබේ මෘදුකාංගය තුළ ග්නූ ගයිල් හෝ ලුවා වැනි පරිවර්තකයෙකු ඇතුළත් කළ හැකිය ( ඔබ ක්රමලේඛන භාෂා පිළිබඳ විශේෂ expert යෙකු නොවේ නම් ඔබේම ටියුරින්-සම්පූර්ණ ස්ක්රිප්ටින් භාෂාව සොයා ගැනීමෙන් වළකින්න ). මෙය ඔබේ මෘදුකාංගයේ සැලසුමට ගැඹුරු ප්රතිවිපාක ගෙන දෙයි (එබැවින් කල්තියා සිතා බැලිය යුතුය!). එවිට ඔබට පහසුවෙන් යම් ස්ක්රිප්ට් එකක් හෝ යම් ප්රකාශනයක් එම පරිවර්ථකයා වෙත යැවිය හැකිය. ඔබ එම සිත්ගන්නාසුලු ප්රවේශය ගන්නේ නම්, ඔබේ මෘදුකාංගය සහ එහි අර්ථකථනය කරන ලද ප්රාථමිකයන් ප්රවේශමෙන් සැලසුම් කරන්න; ඔබට අමුතු පරිශීලකයෙකු ඔබේ දේ සඳහා විශාල ස්ක්රිප්ට් කේතනය කළ හැකිය.
වෙනත් අවස්ථාවල දී, ඔබේ උසස් පරිශීලකයින්ට ඔවුන්ගේ ප්ලගිනය ඔබේ මෘදුකාංගයට පැටවීමට ඉඩ දිය හැකිය ( ගතික පැටවීමේ ක්රම භාවිතා කරමින් à la dlopen& dlsym). නැවතත්, මෙය ඉතා වැදගත් සැලසුම් තීරණයක් (එබැවින් ප්ලගීන අතුරුමුහුණත ප්රවේශමෙන් නිර්වචනය කර ලේඛනගත කරන්න), තවද ඔබට මෙම ප්ලගීන වෙත වැඩසටහන් විකල්ප ලබා දීම සඳහා සම්මුතියක් අර්ථ දැක්විය යුතුය.
ඔබේ මෘදුකාංගය සංකීර්ණ දෙයක් නම්, එය සමහර වින්යාස ගොනු පිළිගැනීමට සලස්වන්න (ක්රමලේඛ තර්ක වලට අමතරව හෝ ප්රතිස්ථාපනය කිරීම) සහ සියලු කේත ක්රියාත්මක නොකර මෙම වින්යාස ගොනු පරීක්ෂා කිරීමට (හෝ විග්රහ කිරීමට) යම් ක්රමයක් තිබිය හැකිය. නිදසුනක් ලෙස, තැපැල් හුවමාරු නියෝජිතයෙක් (එක්සිම් හෝ පෝස්ට්ෆික්ස් වැනි) තරමක් සංකීර්ණ වන අතර, එය "අඩක් වියළීමට" හැකිවීම ප්රයෝජනවත් වේ (උදා: ඇත්ත වශයෙන්ම විද්යුත් තැපෑලක් යැවීමකින් තොරව යම් විද්යුත් තැපැල් ලිපිනයක් හසුරුවන ආකාරය නිරීක්ෂණය කිරීම).
/optionඑය වින්ඩෝස් හෝ වීඑම්එස් දෙයක් බව සලකන්න . එය POSIX පද්ධති මත උමතු වනු ඇත (ගොනු ධූරාවලිය /නාමාවලි බෙදුම්කරුවෙකු ලෙස භාවිතා කරන නිසාත්, කවචය ගෝලීයකරණය කරන නිසාත්). මගේ සියලු පිළිතුරු බොහෝ දුරට ලිනක්ස් (සහ පොසික්ස්) සඳහා ය.
PS හැකි නම්, ඔබේ වැඩසටහන නොමිලේ මෘදුකාංගයක් බවට පත් කරන්න , ඔබට සමහර පරිශීලකයින්ගෙන් සහ සංවර්ධකයින්ගෙන් වැඩි දියුණු කිරීම් ලැබෙනු ඇත (තවද නව වැඩසටහන් විකල්පයක් එක් කිරීම බොහෝ විට පවතින නිදහස් මෘදුකාංගයකට එක් කිරීමට පහසුම දේ වේ). එසේම, ඔබේ ප්රශ්නය අපේක්ෂිත ප්රේක්ෂකයින් මත බොහෝ දේ රඳා පවතී : යෞවනයන් සඳහා ක්රීඩාවක් හෝ ආච්චි සඳහා බ්රව්සරයක් බොහෝ විට සම්පාදකයෙකුට වඩා සමාන හා විකල්ප ප්රමාණයක් අවශ්ය නොවනු ඇත, නැතහොත් ඩේටාසෙන්ටර් සයිසැඩ්මින් සඳහා ජාල පරීක්ෂකවරයකු හෝ මයික්රොප්රොසෙසරය සඳහා CAD මෘදුකාංගයක් අවශ්ය නොවේ. ගෘහ නිර්මාණ ශිල්පීන් හෝ පාලම් නිර්මාණකරුවන් සඳහා. ක්රමලේඛන හා ස්ක්රිප්ටින් ගැන හුරුපුරුදු ඉංජිනේරුවෙකු බොහෝ විට ඔබේ ආච්චිට වඩා සුසර කළ හැකි විකල්ප රාශියක් තිබීමට කැමති විය හැකි අතර, X11 නොමැතිව (සමහර විට crontabරැකියාවක) ඔබගේ යෙදුම ක්රියාත්මක කිරීමට අවශ්ය වනු ඇත .
ls -ltrවිකල්පයන් ඒකාබද්ධ කිරීම සඳහා ඔබට ලිවිය හැකිය-l,-tසහ-r. GNU විලාසිතාවේ වැඩසටහන් සාමාන්යයෙන් වචන මත පදනම් වූ විකල්ප--reverseවෙනුවට ද්විත්ව යටි ඉරක් සහිත විකල්පයක් ලබා දේ-r.-hඋදව් පෙන්වීම,--විකල්පවල අවසානය-සං signal ා කිරීම, ස්ටැඩින් වලින් කියවීමට ඉඩ දීම සඳහා ගොනු නාමයක් ලෙස සඳහන් කිරීම වැනි තවත් ජනප්රිය සම්මුතීන් ඇත