Scripting
& Shell
Stop doing things manually. Scripting languages let you automate deployments, manage servers, process files and embed logic into games and tools โ with just a few lines of code.

Real world uses
What you can automate today
git pull && npm run build && pm2 restart appfor f in *.jpg; do mv "$f" "photo_$f"; doneNew-AzVM -ResourceGroupName "RG" -Name "MyVM"game.Players.PlayerAdded:Connect(onJoin)3 Languages
Explore the languages
Bash
Unix shell and command language for scripting, automation and system administration. Every Linux and macOS server runs Bash. The essential tool for DevOps and backend engineers.
PowerShell
Task automation framework from Microsoft with a powerful command-line shell and scripting language. Now cross-platform and essential for Azure and Windows Server administration.
Lua
Lightweight, fast scripting language designed to be embedded in applications. Powers Roblox, World of Warcraft addons, NGINX, Redis scripting and countless game engines.
Common questions
FAQ โ Scripting & Shell
Should I learn Bash or PowerShell first?
It depends on your environment. If you work on Linux, macOS or deploy to cloud servers, Bash is essential. If you work in a Windows enterprise environment, manage Azure or Active Directory, PowerShell is your tool. Both are worth knowing โ Bash for servers and CI/CD, PowerShell for Windows administration.
What can I automate with Bash scripting?
Almost anything on a Linux or macOS system: automated deployments, log rotation, database backups, file processing, scheduled tasks (cron jobs), system monitoring, CI/CD pipeline scripts, environment setup for new machines, and bulk operations on files and directories.
Who uses Lua as a programming language?
Roblox uses Lua as its primary scripting language, making it one of the most-used languages by volume among young developers. World of Warcraft addon developers write Lua. NGINX uses Lua for custom web server logic. Redis supports Lua for atomic server-side scripts. It's embedded in countless games, tools and applications.
Is PowerShell cross-platform in 2026?
Yes. PowerShell Core (v6+) is fully cross-platform and runs on Linux and macOS in addition to Windows. The original Windows PowerShell is Windows-only, but modern PowerShell is a separate cross-platform project. Most new scripts should target PowerShell Core.
Do I need to learn a scripting language if I already know Python?
Bash is still worth learning even if you know Python. For tasks that involve running system commands, piping data between tools, or writing CI/CD pipeline steps, Bash is faster to write and more portable than Python scripts. Most DevOps engineers use both โ Python for complex logic, Bash for orchestration.
Related categories
Automate your first task today
No signup, no cost. Start with Bash and automate something on your Linux or macOS machine right now.
Beyond the basics
Making sense of Scripting & Shell
How these languages relate
Bash and PowerShell solve the same problem โ automating command-line tasks โ on different operating systems: Bash on Linux and macOS, PowerShell on Windows (though a cross-platform version now exists). Lua is a different category entirely: a lightweight language meant to be embedded inside other software, most famously as Roblox's scripting language, rather than used as a system administration tool.
How to choose
Learn Bash if you work with Linux servers at all, which covers the large majority of cloud infrastructure and DevOps work. Learn PowerShell if your work is Windows-centric, particularly Windows Server administration or Azure. Learn Lua only if you have a specific target for it โ Roblox development or modding a game that uses it โ since it has little application outside those embedded contexts.
What's changing right now
Infrastructure-as-code tools have absorbed some of what shell scripting used to handle โ Terraform and Ansible now manage a lot of server provisioning that would previously have been a hand-written Bash or PowerShell script โ though both languages remain essential for the glue work those tools don't cover.