Кіріспе
Командалық қабықша — компьютердің операциялық жүйесімен байланысу және оны басқаруға арналған командалық жол интерфейсі.
A command shell is a command line interface to interact with and manipulate a computer's operating system.
Жалпы сипаттамалары
ShellӘдеттегі ортаЖәлігілікті шақыруШақырылғанПлатформаға тәуелсізӘдепкі кіру қабығындаӘдепкі сценарий қабығындаЛицензияКөздік кодтың қолжетімділігіПайдаланушы интерфейсіТәуір қолдауыЮникод қолдауыISO 8601 қолдауыКонсоль қайта бағыттауыАғын қайта бағыттауыКонфигурациялық мүмкіндіктерІске қосылу/өшірілу сценарийлеріПакеттік сценарийлерЖурналдауСтатикалық байланысқан, тәуелсіз бір файлдық орындалатын файл ретінде қолжетімдіТомпсон қабығыUNIXsh1971UNIXUNIXТекстке негізделген CLIБурн қабығы 1977 нұсқасы7-ші басылым UNIXsh19777-ші басылым UNIX7-ші басылым UNIX,Текстке негізделген CLIBурн қабығының ағымдағы нұсқасыӘртүрлі UNIXsh1977SunOS 5. x, FreeBSDSunOS 5. xТекстке негізделген CLIPOSIX қабығыPOSIXsh1992POSIXТекстке негізделген CLIБелгіленбеген (мысал ретінде келтірілген)bash (v4)POSIXbash, sh1989GNU, Linux (демейдегісі root), macOS 10.3–10.14GNU, Linux, Haiku, macOS 10.3–10.14Текстке негізделген CLIcshPOSIXcsh1978SunOSTекстке негізделген CLItcshPOSIXtcsh, csh1983FreeBSD (бұрынғы әдетте root), бұрын Mac OS X-ке негізделген CLIГамильтон C қабығыWin32, OS/2csh1988 (OS/2 нұсқасы енді сақталмайды)Текстке негізделген CLIScshPOSIXscsh1994ksh (ksh93t+)POSIXksh1983AIX, HP UXOpenSolarisТекстке негізделген CLIashPOSIXsh1989Minix, BusyBox негізіндегі жүйелерNetBSD, Minix, BusyBox негізіндегі жүйелерТекстке негізделген CLI (BusyBox үшін, командалық жол өңдеуінде қолдау бар, бірақ жол өңдеуінде жоқ)CCPCP/M, MP/M(CCP)1976 (1974)CP/M (кіру жоқ), MP/MCP/M, MP/M (бастапқыда жабық код)Текстке негізделген CLI (автоматты түрде арқылы) (тек сыртқы команда арқылы жаңарту арқылы)COMMAND. COMDOSCOMMAND1980 (үшінші тараптың іске асырулары, белгілі бір DOS өндірушісімен немесе нұсқасымен байланысты емес, қолжетімді)DOS, Windows 95, 98, SE, MEDOS, Windows 95, 98, SE, MEӨндірушіге тән, мысалы, MS EULA немесе BSD/GPL (еркін клондар) (OpenDOS, DR DOS, PTS/DOS және FreeDOS-ты қоспағанда)Текстке негізделген CLI (DR DOS-ты қоспағанда) (бастау параметрлері мен ортаның айнымалылары арқылы, DR DOS пайдаланушының әдеттегі ауыстырғышы командасын да қолдайды) (бірінші қабықша үшін автоматты, немесе нақты түрде , немесе бастау параметрлері арқылы) (бастау параметрлері мен орта параметрлері арқылы)OS/2 CMD. EXEOS/2, eComStation, ArcaOSCMD1987OS/2, eComStation, ArcaOSOS/2, eComStation, ArcaOSTекстке негізделген CLI (тек іске қосу опциясы арқылы) (команда немесе және іске қосу опциялары арқылы)Windows CMD. EXEWin32CMD1993Windows NT, 2000, XP, Server 2003, VistaWindows NT, 2000, XP, Server 2003, VistaТекстке негізделген CLI (UTF 8 үшін, бірақ бағдарлама аргументтері әлі де жергілікті кодта кодталған) (реестр, бастау параметрлері және орта айнымалылары арқылы) (реестр арқылы автоматты түрде немесе ашылу опциясы арқылы) (команда немесе және бастау опциялары арқылы)4DOS, NDOSDOS, Windows 95, 98, SE, ME4DOS, NDOS1989 (1986)TUI кеңейтулері бар текстке негізделген CLI (көшірме терезелер, көмек жүйесі, ішкі айнымалы, команда) ( , , , , , , , , , , командалар мен файл / каталогтың түстерін бояу) (бастау параметрлері мен файлдар, орта, командалар) (негізгі қабықша мен / файл үшін автоматты түрде және / , сондай-ақ кез келген қабықша үшін, немесе тікелей немесе тікелей , немесе командалар арқылы) (реестр мен бастау опциялары арқылы)4OS2OS/2, eComStation, ArcaOS4OS21992 (бірақ ArcaOS жиынтығында)Текстке негізделген CLI (бастау параметрлері, орта айнымалылары, команда арқылы) (автоматты түрде / және / файлдар арқылы, немесе тікелей опция арқылы) (команда немесе және бастау опциялары арқылы)TCC (бұрынғы 4NT)Win32TCC1993опциялықопциялықТекстке негізделген CLI (Take Command: GUI) (консоль тышқаны, көшірме терезелер, көмек жүйесі, ішкі айнымалы, команда) (реестр, / файл, бастау параметрлері, орта айнымалылары, команда арқылы) (реестр және / , сондай-ақ /, немесе тікелей опция арқылы) (команда немесе және бастау опциялары арқылы)VMS DCLOpenVMSАвтоматты түрде кіру/интерактивті процесс үшін1977?VMSVMSӨзіндік, VMSTextке негізделген CLIPowerShell. NET,. NET FrameworkPowerShell2006Windows 10, 8, Server 2008, 7Windows 10, 8, Server 2008, 7Графикалық CLIrcPlan 9, POSIXrc1989Plan 9, Version 10 UnixPlan 9, Version 10 UnixТекстке негізделген CLIBeanShellJava2005fishPOSIXfish2005GhostBSDТекстке негізделген CLIIonRedox, Linuxion2015RedoxRedoxТекстке негізделген CLI (жеке орындалатын файл ретінде таратылмайды, бірақ оны бір файл ретінде құрастыруға болады)ShellӘдеттегі ортаЖәлігілікті шақыруШақырылғанПлатформаға тәуелсізӘдепкі кіру қабығындаӘдепкі сценарий қабығындаЛицензияКөздік кодтың қолжетімділігіПайдаланушы интерфейсіТәуір қолдауыЮникод қолдауыISO 8601 қолдауыКонсоль қайта бағыттауыАғын қайта бағыттауыКонфигурациялық мүмкіндіктерІске қосылу/өшірілу сценарийлеріПакеттік сценарийлерЖурналдауСтатикалық байланысқан, тәуелсіз бір файлдық орындалатын файл ретінде қолжетімді
Интерактивті ерекшеліктер
ShellCommandnamecompletionPathcompletionCommandargumentcompletionWildcardcompletionCommandhistoryМәжбүрлі аргумент сұрауыАвтоматикалық ұсыныстарТүсті каталог тізіміМәтінді бөліп көрсетуСинтаксистік бөліп көрсетуКаталог тарихы, стек немесе ұқсас мүмкіндіктерАвтоматты каталог өзгертуАвтотүзетуИнтеграцияланған ортаСниппеттерМән сұрауыМәзір/опциялар сұрауыПрогресс индикаторыКонтекстке сезімтал көмекКоманда құрастыруШомыр қабығы? "Борн қабығы" 1977 жылғы нұсқасы? "ExternalBourne shell" ағымдағы нұсқасы"Externalcsh""Externalcsh""ExternalHamilton C shell""ExternalScsh""Сыртқы сілтеме (ksh93t+)" "Сыртқы сілтеме (pdksh)" "Сыртқы сілтеме (zsh)" "Үшінші тараптың кеңейтуі" "Сыртқы сілтеме (ash)" "Сыртқы CCPCOMMAND. COM (тек DR DOS-та %$ON%, %$OFF%, %$HEADER%, %$FOOTER% арқылы)" (COMMAND /Y (" және " командалары арқылы)" (функция арқылы және жанама түрде " " командаларының комбинациясы арқылы)" (INI файл директивалары үшін командадан басқа)4OS2?????? ?TCC (бұрынғы 4NT) (" , " және командалар арқылы)" (функция арқылы және жанама түрде " , " командаларының бірігуі арқылы)PowerShellShellCommandnamecompletionPathcompletionCommandargumentcompletionWildcardcompletionCommandhistoryМәжбүрлі аргумент сұрауыАвтоматикалық ұсыныстарТүсті каталог тізіміМәтінді бөліп көрсетуСинтаксистік бөліп көрсетуКаталог тарихы, стек немесе ұқсас мүмкіндіктерАвтоматты каталог өзгертуАвтотүзетуИнтеграцияланған ортаСниппеттерМән сұрауыМәзір/опциялар сұрауыПрогресс индикаторыКонтекстке сезімтал көмекКоманда құрастыру
Артқы орындалу
Фондық орындау терминалда пайдаланушының араласуынсыз команданы орындауға мүмкіндік береді, бұл командалық жолды шеллмен қосымша жұмыс істеу үшін босатады. POSIX және басқа Unix шеллдер команданың соңында & символын қолдану арқылы фондық орындауды қолдайды. PowerShell-де Start-Process немесе Start-Job командаларын пайдалануға болады.
Аяқталуы
Толықтыру мүмкіндіктері пайдаланушыға командалар жолында толық емес сөздерге сәйкес келетін сөздерді іздеу және ұсыну арқылы командаларды теруге көмектеседі. Толықтыру әдетте толықтыру пернесін (көбінесе <Tab> пернесін) басып сұралады. Команда атауының толықтырылуы – команда атауын толықтыру. Көптеген қабықшаларда команда, команда жолындағы бағдарлама (әдетте $PATH), кіріктірілген команда, функция немесе псевдоним болуы мүмкін. Жолды толықтыру – файлға қатысты жолды салыстырмалы немесе абсолютті түрде толықтыру. Wildcard completion – жолды толықтырудың жалпылама түрі, онда өрнек файлдардың кез келген санын сәйкестендіреді, файлдарды сәйкестендіру үшін қолдау көрсетілетін кез келген синтаксис қолданылады. Айтмалы айнымалының толықтырылуы – айтмалы айнымалының (орта айнымалысы немесе қабықша айнымалысы) атауын толықтыру. Bash, zsh және fish барлық айтмалы атаулары үшін толықтыруды ұсынады. PowerShell орта айнымалыларының, қабықша айнымалыларының және пайдаланушы анықтаған функциялардың параметр атауларының толықтырылуын қамтамасыз етеді. Команда аргументтерін толықтыру – нақты команданың аргументтерін толықтыру. Аргументтердің екі түрі бар: атаулы және позициялық. Атаулы аргументтер, көбінесе опциялар деп аталады, олардың атауымен немесе мәннен бұрын тұратын әріппен анықталады, ал позициялық аргументтер тек мәннен тұрады. Кейбір қабықшалар аргумент атауларын толықтыруға рұқсат береді, бірақ олардың аз ғана бөлігі мәндерді толықтыруды қолдайды. Bash, zsh және fish командадан тыс анықтамалар арқылы параметр атауларын толықтырады, олар жеке толықтыру анықтамасы файлында таратылады. Егер команда үшін толықтыру анықталмаса, бұл қабықшалар команда параметрлерінің атауын/мәнін толықтыру үшін жол/файл атауын толықтыруды қолданады. Толықтыруды ұсыну үшін, қабықша функциясын шақыру арқылы толықтыруды орнатуға болады. Fish қабықшасы толықтыру/ұсыныстарды жақсарту үшін қолданылатын параметрлік ақпаратты алу үшін man беттерін талдауды қолдайды. PowerShell-де барлық типтегі командалар (cmdlet-тер, функциялар, сценарий файлдары) әрбір аргумент үшін атаулар, типтер және жарамды мәндер диапазондары/тізімдері туралы деректерді ашады. PowerShell бұл метадеректерді кіріктірілген командалар/функциялар, пайдаланушы анықтаған командалар/функциялар және сценарий файлдары үшін аргумент атауын және мәнін автоматты түрде толықтыру үшін пайдаланады. Жеке cmdlet-тер жүйеде динамикалық түрде есептелетін толықтыру мәндерімен аргумент мәндерін динамикалық түрде толықтыруды анықтай алады.
Командалық журналы
Shell пайдаланушылары бұрын теріп жазғандарына ұқсас нәрсені қайта теруі мүмкін. Команда тарихының қолдауы, пайдаланушыға бұрынғы команданы команда жолы редакторына шақырып алып, оны өңдеп, содан кейін өзгертілген команданы орындай алуға мүмкіндік береді. Аяқтау мүмкіндігін қолдайтын Shell-дер, бұрынғы команданың бір бөлігін енгізген кезде, команда тарихынан оны тікелей толықтыра алады. Көптеген қазіргі заманғы Shell-дер команда тарихын қолдайды. Команда тарихын қолдайтын Shell-дер, әдетте, тарихтан командаларды шақырып алудан бөлек, тарихтан аяқтау мүмкіндігін де ұсынады. PowerShell команда мәтінімен қатар, команданың орындалуын бастау және аяқтау уақытын, сондай-ақ орындалу статусын команда тарихында сақтайды.
Міндетті аргумент шақыру
Міндетті аргументтер/параметрлер – команданы, функцияны немесе скрипт файлын шақырғанда мән тағайындалуы тиіс аргументтер/параметрлер. Шақырылмас бұрын қажетті мәндердің жоқтығын анықтай алатын қабықша, команданың қатемен аяқталуына жол бермей, осы мәндерді сұрау арқылы интерактивті пайдаланушыға көмектесе алады. Қабықшаның жоқ мәндерді сұрауы, скрипт, команда немесе функция авторына жоқ мәндерді сұрау үшін скрипт кодты жазудың орнына параметрді міндетті деп белгілеуге мүмкіндік береді (интерактивті түрде іске қосылғандығын анықтағаннан кейін) немесе хабарламамен қатенің туындауына жол беруге мүмкіндік береді. PowerShell командаларға, функцияларға және скрипттерге аргументтерді/параметрлерді міндетті деп анықтауға мүмкіндік береді. Қабықша шақырылмас бұрын міндетті аргументтер/параметрлердің байланыстырылмағанын анықтайды, содан кейін нақты шақырылмас бұрын пайдаланушыдан мәнін(дерін) сұрайды.
mandatory arguments/parameters which have not been bound, and will then prompt the user for the value(s) before actual invocation.
Автоматты ұсыныстар
Автоматты ұсыныстарды қолдайтын қабықтар пайдаланушы теріп жатқанда нұсқамалы команда жолын толықтыру мүмкіндігін ұсынады. PowerShell және fish қабықтары бұл мүмкіндікті бастапқыда қолдайды; тиісті пернени басу арқылы толықтыру енгізіледі. Бұл мүмкіндіктің іске асырылуы қабықтар арасында өзгеше болуы мүмкін; мысалы, PowerShell және zsh толықтыруды қамтамасыз ету үшін сыртқы модульді пайдаланады, ал fish толықтыруларын пайдаланушының команда тарихынан құрайды.
Каталогтың тарихы, стек немесе ұқсас ерекшеліктер
Shell пайдаланушы барған каталогтардың тарихын сақтайды және тіркелген кез келген орынға жылдам ауысуға мүмкіндік береді. Бұл "директориялық стек" деп аталады. Бұл идея 1978 жылы C қабығының (csh) нұсқасымен іске асырылған. PowerShell бірнеше атаулы стектерді пайдалануға рұқсат береді. Орындар (директориялар) ағымдағы стекке немесе атаулы стекке қосылуы/алынып тасталуы мүмкін. Кез келген стек ағымдағы (дефолтты) стек бола алады. Көптеген басқа қабықшалардан өзгеше, PowerShell-дің орналасу тұжырымы орналасу стектеріне файлдық жүйенің орналасуларын, сондай-ақ басқа орналасу түрлерін сақтауға мүмкіндік береді, мысалы, Active Directory ұйымдық бөлімдері/топтары, SQL Server дерекқорлары/кестелері/объектілері, Internet Information Server қолданбалары/сайттары/виртуалды каталогтары. 4DOS командалық жол интерпретаторы және оның графикалық жалғасы Take Command Console да директориялық стекке ие.
Тізімнің жасырын өзгеруі
Каталогтың атауын команда ретінде тікелей пайдалануға болады, бұл ағымдағы орналасқан жерді сол каталогқа автоматты түрде өзгертеді. Мұны Concurrent DOS, Multiuser DOS, System Manager және REAL/32 жүйелерінде қолдау көрсетілетін, бірақ одан бөлек жүктеу дискісі мүмкіндігінен ажырату қажет. Онда L: дискісінің әрпі жүктелген бағдарламаның жүктеу жолына сілтеме жасау үшін жасырын түрде жаңартылады, соның арқасында бағдарламалар өздерінің жүктеу каталогындағы файлдарға абсолюттік жолдың орнына стандартталған дискі әрпі арқылы сілтеме жасай алады.
Автоматты түзету
Командалық жол командаға немесе аргументтерге тікелей сәйкес келмеген жағдайда, орфографиялық тексеру жиі кездесетін теру қателерін (мысалы, әріптердің үлкен-кішілігі, жоғалған әріптер) автоматты түрде түзете алады. Мұны іске асырудың екі жолы бар: қабықша команданы орындағанда мүмкін түзетулерді ұсына алады немесе бұл аяқтау немесе автоматты ұсыныс бөлігі ретінде ертерек жасалуы мүмкін. tcsh және zsh қабықшалары команда орындалғанда орфографиялық тексеру/түзету мүмкіндігін ұсынады. Fish қабықшасы аяқтау және автоматты ұсыныс кезінде автоматты түзетуді жүзеге асырады. Сондықтан, егер сіз команданы толығымен теріп, Enter пернесін басқанда бұл мүмкіндік кедергі келтірмейді, ал Tab және оң бағыт пернесін жиі пайдалану қабықшаны көбінесе әріптердің үлкен-кішілігіне бейжай етеді. PSReadLine бұл қабықшалардың енгізілген мүмкіндіктері емес. PowerShell прогресс жолағын жазу/жаңарту үшін командалар мен API функцияларын (командаларды жазу кезінде пайдаланылатын) ұсынады. Прогресс жолағы хабарламалары әдеттегі команда нәтижесінен бөлек жіберіледі және прогресс жолағы соңғы интерактивті пайдаланушы консолінде әрқашан көрсетіледі, тіпті прогресс хабарламалары интерактивті сценарийден, фонондық тапсырмадан немесе қашық сеанстан келсе де.
and the progress bar is always displayed at the ultimate interactive users console regardless of whether the progress messages originates from an interactive script, from a background job or from a remote session.
Түсті каталогтар
JP Software командалық жол процессорлары файлдар мен каталогтар тізімдерінде файлдың кеңейтілуіне және/немесе атрибуттарына сәйкес файлдар мен каталогтар атауларын пайдаланушы өзгерте алатын түрлі түстермен көрсету мүмкіндігін ұсынады, бұл опциялық түрде анықталған орта айнымалысы арқылы жүзеге асырылады. Unix/Linux қабықшалары үшін бұл мүмкіндік команданың және терминалдың құрамында болады.
Мәтінді бояулау
DOS Plus, Multiuser DOS, REAL/32 және DR DOS-тың барлық нұсқаларындағы командалық жол процессорлары TYPE сияқты командаларда мәтіннің ерекшеленуі, кері көрсетілуі немесе түспен боялуын басқаруға мүмкіндік беретін құтылу тізбектерін анықтау үшін бірқатар қосымша орта айнымалыларын қолдайды. Аталған барлық командалық жол процессорлары %$ON% және %$OFF% тізбектерін қолдайды. Егер анықталған болса, бұл тізбектер файл атауларының алдында және соңында шығарылады. Мысалы, ANSI.SYS, ASCII терминалы үшін немесе IBM немесе ESC/P принтері үшін тиісті тізбектер болады. Сол сияқты, тізбектер сәйкесінше , , , болады. %$HEADER% және %$FOOTER% айнымалылары тек DR DOS 7.02 және одан кейінгі нұсқаларындағы COMMAND.COM бағдарламасымен қолданылады, мәтін блоктарының алдында және соңында шығарылатын тізбектерді анықтау үшін, мәтіннің ерекшеленуі, беттерге бөлу немесе басқа форматтау опцияларын басқару мақсатында. Unix/Linux қабықшалары үшін бұл терминалдың мүмкіндігі болып табылады.
Контекстке бейім көмек
4DOS, 4OS2, 4NT / Take Command Console және PowerShell (PowerShell ISE-де) басылған кезде контекстке қатысты анықтамалық ақпаратты іздейді. Zsh өз виджеттерінің, командаларының құрамында немесе кейбір командалардың опцияларын толықтыру кезінде конфигурацияланатын контекстке қатысты анықтамалық көмектің әртүрлі түрлерін ұсынады. Fish қабығы қойындыны толықтыру барысында команданың параметрлерінің қысқаша сипаттамасын көрсетеді.
Бағдарламалау ерекшеліктері
ShellFunctionsException handlingSearch & replace on variable substitutionsАрифметикаҚабақ нүктесіМатематикалық функциялар кітапханасыСызықты массивтер немесе тізімдерАссоциативтік массивтерLambda функцияларыeval функциясыЖалған кездейсоқ сандарды жасауБайтек кодBourne shell 1977 нұсқасыBourne shell қазіргі нұсқасыCCP???COMMAND. COM (тек Auto fail (DR DOS арқылы (немесе кейбір нұсқаларында)) OS/2 CMD. EXE? - Жоқ. ?Windows CMD. EXE4DOS??4OS2???????? (функциясы)?TCC (бұрынғы 4NT)??? (функция) (команда арқылы)PowerShell (Тры-Кэтч-Файнэлли)rc???BeanShell?? ?VMS DCLfish
Сызықтарды өңдеу және файл атауларын сәйкестендіру
ShellString өңдеуAlternation (Жақша кеңейтуі) Үлгі сәйкестіктері (реттік өрнектер) Үлгі сәйкестіктері (файл атауының ғаламшалануы) Ғаламшалау біліктілері (файл атрибуттарына негізделген файл атауының құрылуы) Рекурсивті ғаламшалау (файлдарды кез келген деңгейдегі қосалқы каталогтардан құру) Bourne shell 1977 нұсқасы? Bourne shell соңғы нұсқасы (префиксті және суффиксті жою) POSIX shell (префиксті және суффиксті жою) bash (v4.0) (префиксті және суффиксті жою) cshtcHamilton C shellScsh? ?ksh (ksh93t+) (префиксті, суффиксті жою және жолдарды алмастыру арқылы өзгермелі кеңейту) (символикалық сілтемелерді қарамастан) pdksh?) (немесе символикалық сілтемелерді орындау үшін) COMOS/2 CMD. EXE (тек командада) Windows CMD. EXE (тек арқылы және) (тек командада) (команда арқылы немесе, мүмкін болса, тікелей subdir опциясы арқылы) 4DOS (өзгермелі функциялар арқылы, кеңейтілген ортаны өңдеу, әртүрлі жол командалары арқылы және) (атрибут және сипаттама опциялары және өлшем, уақыт, күні және файлды жою диапазондары арқылы) (команда арқылы немесе тікелей команда арқылы немесе, мүмкін болса, subdir опциясы арқылы) 4OS2??? ?TCC (бұрынғы 4NT) (өзгермелі функциялар арқылы, кеңейтілген ортаны өңдеу, әртүрлі жол командалары арқылы және) (атрибут және сипаттама опциялары және өлшем, уақыт, күні, иесі және файлды жою диапазондары арқылы) (команда арқылы немесе тікелей команда арқылы немесе, мүмкін болса, subdir опциясы арқылы) PowerShellНөмірлер үшін диапазон операторы? rc? BeanShell???? VMS DCL (арқылы балық) fish
Рұқсатты орындау
Кейбір операциялық жүйелер файлдың пайдаланушыларға/топтарға файл жүйесі оны қолдайтын жағдайда берілетін орындау рұқсатын анықтайды. Unix жүйелерінде орындау рұқсаты файлды бағдарлама ретінде іске қосуға рұқсатты басқарады және орындалатын файлдар мен скрипттерге де қолданылады. Рұқсат бағдарлама жүктеушіде күштеп орындалғандықтан, іске қосушы бағдарламадан немесе шақырылған бағдарламадан орындау рұқсатын күштеп орындау талап етілмейді. Бұл қабықшалар мен басқа интерпретатор бағдарламаларына да қатысты. Бұл мінез-құлықты ядромен байланыс үшін қолданылатын POSIX C кітапханасы талап етеді. POSIX exec функциялары отбасы файл орындау рұқсатын қабылдамаса EACCESS (рұқсаттан бас тарту) қатесін қайтарады деп көрсетеді (қараңыз). Орындау рұқсаты тек скрипт тікелей іске қосылғанда ғана қолданылады. Егер скрипт интерпретациялайтын қабықшаның аргументі ретінде шақырылса, ол пайдаланушының скрипт үшін орындау рұқсаты бар-жоғына қарамастан орындалады. Windows-та да орындау рұқсаты қарастырылған, бірақ егер рұқсат берілмесе, Windows-қа тән ешбір қабықша скрипт орындалуына кедергі келтірмейді.
Шалдың шектелген кіші жиынтығы
Бірнеше қабықшаны бастауға болады немесе пайдаланушыға тек шектеулі командалар мен әрекеттер жиынтығы қолжетімді режимде конфигурациялауға болады. Бұл қауіпсіздік шекарасы болмаса да (ресурс емес, оған қол жеткізуге тырысқан команда бұғатталады), әдетте пайдаланушылар кіріспеден бұрын олардың әрекеттерін шектеу үшін қолданылады. Шектелген режим – POSIX қабықшалар спецификациясының бір бөлігі, және көптеген Linux/Unix қабықшалары мұндай режимді қолдайды, онда бірнеше кіріктірілген командалар өшіріледі және тек белгілі бір каталогтан сыртқы командаларды шақыруға болады. PowerShell сеанс конфигурациясы файлдары немесе сеанс конфигурациялары арқылы шектеу режимдерін қолдайды. Сеанс конфигурациясы файлы көрінетін (қолжетімді) cmdlet-тер, псевдонимдер, функциялар, жол провайдерлері және басқаларын анықтай алады.
Қауіпсіз деректер жиынтығы
Басқа скрипттерді шақыратын скрипттер қауіпсіздік қатері тудыруы мүмкін, себебі олар бастапқы скриптті іске қосқан пайдаланушының құқықтарымен шетелдік кодты орындай алады. Скрипттер көбінесе белгілі, қауіпсіз орындардан ғана скрипттерді қосу үшін жасалады; бірақ кейбір жағдайларда, мысалы, пайдаланушыға ортаны конфигурациялауға мүмкіндік беру немесе жергілікті тілдегі хабарламаларды жүктеу қажет болғанда, скриптке басқа скрипттер/файлдарды қосу қажет болуы мүмкін. Осы қатерді азайтудың бір жолы – қабылдағыш (shell) кіріктірілген скрипттермен орындалатын командалардың қауіпсіз жиынтығын ұсыну. PowerShell дерек бөлімдері шектеулі операторлар мен командалар жиынтығын қолданатын тұрақты мәндер мен өрнектерді қамтуы мүмкін. PowerShell дерек бөлімдері, мысалы, сыртқы көзден жергілікті тілдегі мәтіндерді оқу қажет болғанда, күтілмеген салдарлардан қорғау үшін қолданылады.