Skip to content

Shell scripts

You can write a shell script in TypeScript by specifying tsx in the hashbang. The hashbang tells the shell how to run the script, making it executable.

Project scripts

If tsx is installed in your project, use your package manager to reference tsx:

ts
#!/usr/bin/env -S npx tsx

console.log('argv:', process.argv.slice(2))
ts
#!/usr/bin/env -S pnpm tsx

console.log('argv:', process.argv.slice(2))
ts
#!/usr/bin/env -S yarn tsx

console.log('argv:', process.argv.slice(2))

Make the file executable:

sh
chmod +x ./file.ts

Now, you can run ./file.ts directly:

sh
./file.ts hello world
# Output: argv: [ 'hello', 'world' ]

Global scripts

If tsx is installed globally, you can reference tsx directly in the hashbang:

file.ts:

ts
#!/usr/bin/env tsx

console.log('argv:', process.argv.slice(2))

Don't forget to chmod the file to make it executable!