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!