master
Use TERM=xterm instead of forwarding local TERM — exotic terminal types (foot, kitty, alacritty, etc.) are not in the remote terminfo database, causing less to warn "terminal is not fully functional". Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
csc — Cluster SSH Command
Run a command over SSH on a group of hosts, with colored per-host output and progress tracking.
Install
Copy csc somewhere in your $PATH and make it executable:
cp csc ~/.local/bin/csc
chmod +x ~/.local/bin/csc
Configuration
Host groups are plain text files under ~/.config/csc/ (one hostname per line, # comments supported):
# ~/.config/csc/webservers
web01.example.com
web02.example.com
# web03.example.com (disabled)
Usage
Usage: csc [OPTION]... [COMMAND]
-h show help
-v enable verbose mode
-c specify config dir, default is ~/.config/csc
-g specify group
-d enable dry run mode
csc -g webservers uptime
csc -g webservers -d "apt-get upgrade -y" # dry run: shows commands, no ssh
csc -g webservers -v df -h # verbose
csc -g webservers -c /etc/csc uptime # custom config dir
Output
[1/2] "uptime" on web01 → ssh -t web01 "TERM=xterm DEBIAN_FRONTEND=dialog uptime"
✓ ok
[2/2] "uptime" on web02 → ...
✗ failed (exit 255)
Languages
Shell
100%