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
jqand 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 an sg command you are returned to your previous group ID.
Options
The options which apply to the sg command are:
- -, -l
Start the shell as a login shell.
- -c
Specify a command that will be invoked by the shell using its -c.
This is the default; for backward compatibility.
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).