sg - Man Page
execute command as different group ID
Examples (TL;DR)
- Scan for possible queries using interactive mode:
sg scan --interactive
- Rewrite code in the current directory using patterns:
sg run --pattern 'foo' --rewrite 'bar' --lang python
- Visualize possible changes without applying them:
sg run --pattern 'useState<number>($A)' --rewrite 'useState($A)' --lang typescript
- Output results as JSON, extract information using
jq
and interactively view it usingjless
:sg run --pattern 'Some($A)' --rewrite 'None' --json | jq '.[].replacement' | jless
Synopsis
sg [-] [group [-c ] command]
Description
The sg command works similar to newgrp but accepts a command. The command will be executed with the /bin/sh shell. With most shells you may run sg from, you need to enclose multi-word commands in quotes. Another difference between newgrp and sg is that some shells treat newgrp specially, replacing themselves with a new instance of a shell that newgrp creates. This doesn't happen with sg, so upon exit from a sg command you are returned to your previous group ID.
Configuration
The following configuration variables in /etc/login.defs change the behavior of this tool:
- SYSLOG_SG_ENAB (boolean)
Enable "syslog" logging of sg activity.
Files
- /etc/passwd
User account information.
- /etc/shadow
Secure user account information.
- /etc/group
Group account information.
- /etc/gshadow
Secure group account information.
See Also
id(1), login(1), newgrp(1), su(1), gpasswd(1), group(5), gshadow(5).
Referenced By
credentials(7), group(5), newgrp(1).