bash-style
19
总安装量
10
周安装量
#18545
全站排名
安装命令
npx skills add https://github.com/doccker/cc-use-exp --skill bash-style
Agent 安装分布
claude-code
9
gemini-cli
8
antigravity
8
opencode
7
codex
7
windsurf
6
Skill 文档
Bash ç¼åè§è
çæ¬ï¼v1.0 æ´æ°ï¼2026-01
1. 注éè§è
ç¦æ¢è¡å°¾æ³¨é
- â ç¦æ¢è¡å°¾æ³¨éï¼å¦
command # 注éï¼ - â æ³¨éåºç¬å ä¸è¡ï¼æ¾å¨ä»£ç 䏿¹
éç¨èå´ï¼
- Shell èæ¬æä»¶ï¼.shï¼
- Markdown ææ¡£ä¸ç bash 代ç å
- DockerfileãMakefile ä¸ç shell å½ä»¤
# â é误ï¼è¡å°¾æ³¨é
curl -X POST https://api.example.com/data # åé请æ±
docker run -d nginx # å¯å¨å®¹å¨
cp -r src/ dist/ # å¤å¶æä»¶
# â
æ£ç¡®ï¼æ³¨éç¬å ä¸è¡
# åé请æ±
curl -X POST https://api.example.com/data
# å¯å¨å®¹å¨
docker run -d nginx
# å¤å¶æä»¶
cp -r src/ dist/
åå ï¼
- å¤å¶ç²è´´æ¶å®¹æå¸¦ä¸æ³¨é导è´å½ä»¤åºé
- é¿å½ä»¤ + 注é = è¶ é¿è¡ï¼å¯è¯»æ§å·®
- Heredoc åå
#䏿¯æ³¨éèæ¯å 容
2. æä»¶åå ¥æ¹å¼
æ¨èæ¹å¼ï¼tee å½ä»¤
# â
æ¨èï¼ç®æ´ãæ åµå¥å¼å·
sudo tee /etc/fail2ban/jail.d/docker-nginx.local > /dev/null << 'EOF'
[docker-nginx]
enabled = true
filter = docker-nginx
logpath = /var/log/nginx/access.log
maxretry = 5
EOF
追å å 容
# â
追å å°æä»¶
sudo tee -a /etc/hosts > /dev/null << 'EOF'
192.168.1.100 myserver
EOF
# â
åè¡è¿½å
echo '192.168.1.100 myserver' | sudo tee -a /etc/hosts
é¿å çåæ³
# â é¿å
ï¼åµå¥å¼å·å¤æï¼æåºé
sudo bash -c 'cat > /etc/xxx << EOF
content
EOF'
# â é¿å
ï¼éè¦è½¬ä¹å
容ä¸çç¹æ®å符
sudo sh -c "echo 'line1\nline2' > /etc/xxx"
æ¹å¼å¯¹æ¯
| æ¹å¼ | ä¼ç¹ | ç¼ºç¹ | æ¨èåºæ¯ |
|---|---|---|---|
sudo tee |
ç®æ´ãæ åµå¥ | é > /dev/null æå¶è¾åº |
é¦é |
sudo bash -c 'cat >' |
æ é tee | åµå¥å¼å·å¤æ | 䏿¨è |
| ä¸´æ¶æä»¶ + mv | å¯å éªè¯ | æ¥éª¤å¤ | 夿é ç½® |
3. Heredoc å¼å·è§å
ç¦æ¢åéå±å¼ï¼æ¨èé»è®¤ï¼
# â
'EOF' 带å¼å·ï¼å
å®¹åæ ·è¾åºï¼ä¸è§£æåé
sudo tee /etc/xxx > /dev/null << 'EOF'
$HOME ä¸ä¼è¢«å±å¼
$(command) ä¸ä¼è¢«æ§è¡
EOF
éè¦åéå±å¼
# EOF ä¸å¸¦å¼å·ï¼åéä¼è¢«å±å¼
sudo tee /etc/xxx > /dev/null << EOF
å½åç¨æ·: $USER
å½åç®å½: $(pwd)
EOF
éæ©åå
| åºæ¯ | ç¨æ³ | åå |
|---|---|---|
| é ç½®æä»¶ | << 'EOF' |
é¿å æå¤å±å¼ |
| 模æ¿çæ | << EOF |
éè¦æå ¥åé |
| ä¸ç¡®å®æ¶ | << 'EOF' |
æ´å®å ¨ |
4. æéä¸è·¯å¾
éè¦ root æé
# â
æ£ç¡®ï¼tee é
å sudo
echo 'content' | sudo tee /etc/xxx
# â é误ï¼éå®åå¨ sudo ä¹å¤ï¼æéä¸è¶³
sudo echo 'content' > /etc/xxx
è·¯å¾å¸¦ç©ºæ ¼
# â
æ£ç¡®ï¼åå¼å·å
裹路å¾
sudo tee "/etc/my config/file.conf" > /dev/null << 'EOF'
content
EOF
5. èæ¬è§è
æä»¶å¤´
#!/usr/bin/env bash
set -euo pipefail
# èæ¬è¯´æï¼ä¸å¥è¯ï¼
set é项说æ
| é项 | ä½ç¨ |
|---|---|
-e |
å½ä»¤å¤±è´¥æ¶éåº |
-u |
ä½¿ç¨æªå®ä¹åéæ¶æ¥é |
-o pipefail |
管éä¸ä»»ä¸å½ä»¤å¤±è´¥åæ´ä½å¤±è´¥ |
åé使ç¨
# â
æ¨èï¼ä½¿ç¨ ${} å
裹
echo "Hello, ${name}"
# â
æ¨èï¼è®¾ç½®é»è®¤å¼
db_host="${DB_HOST:-localhost}"
# â é¿å
ï¼è£¸åéï¼æä¸åç»å符混æ·ï¼
echo "Hello, $name_suffix"
6. å¸¸ç¨æ¨¡å¼
æ£æ¥å½ä»¤æ¯å¦åå¨
if ! command -v docker &> /dev/null; then
echo "docker æªå®è£
"
exit 1
fi
æ£æ¥æä»¶/ç®å½
# æä»¶åå¨
[[ -f /path/to/file ]] && echo "æä»¶åå¨"
# ç®å½åå¨
[[ -d /path/to/dir ]] || mkdir -p /path/to/dir
å®å ¨å é¤
# â
使ç¨å鿶鲿¢è¯¯å
rm -rf "${dir:?}"/*
# â å±é©ï¼åé为空æ¶ä¼å 餿 ¹ç®å½
rm -rf $dir/*
7. ææ¡£ä¸ç代ç å
å¨ Markdown ææ¡£ä¸ç¼å bash å½ä»¤æ¶ï¼åæ ·éµå¾ªä»¥ä¸è§èï¼
## å®è£
é
ç½®
å建é
ç½®æä»¶ï¼
```bash
sudo tee /etc/myapp/config.yml > /dev/null << 'EOF'
server:
port: 8080
host: 0.0.0.0
EOF
```