技能 bash-linux
🐚

bash-linux

安全

掌握 Bash 和 Linux 終端機指令

無需記憶即可產生正確的 Bash 指令和腳本。Claude Code 為檔案操作、程序管理、文字處理和錯誤處理提供準確的模式,適用於 Linux 和 macOS 環境。

支援: Claude Codex Code(CC)
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「bash-linux」。 如何找到所有 Python 檔案並計算數量?

預期結果:

  • 要遞迴尋找所有 Python 檔案:
  • find . -name '*.py' -type f
  •  
  • 要計算數量:
  • find . -name '*.py' -type f | wc -l

正在使用「bash-linux」。 顯示備份目錄的腳本

預期結果:

  • 這是一個帶有錯誤處理的備份腳本:
  •  
  • ```bash
  • #!/bin/bash
  • set -euo pipefail
  •  
  • SOURCE="$1"
  • BACKUP_DIR="$2"
  • TIMESTAMP=$(date +%Y%m%d_%H%M%S)
  •  
  • tar -czf "$BACKUP_DIR/backup_$TIMESTAMP.tar.gz" "$SOURCE"
  • echo "Backup completed: backup_$TIMESTAMP.tar.gz"
  • ```
  •  
  • 用法:./backup.sh /path/to/source /path/to/backup/dir

正在使用「bash-linux」。 如何檢查指令是否成功?

預期結果:

  • 您可以使用 $? 檢查結束狀態:
  •  
  • ```bash
  • if command; then
  • echo "Success"
  • else
  • echo "Failed with exit code $?"
  • fi
  •  
  • # 或使用 && 進行鏈結
  • command && echo "Success" || echo "Failed"
  • ```

安全審計

安全
v1 • 2/25/2026

Static scanner detected 92 patterns flagged as potential security issues. After manual review, all findings are confirmed FALSE POSITIVES. The skill file is educational documentation containing bash command examples in markdown code blocks and tables. Backticks and command syntax are part of markdown formatting for documentation purposes, not executable code. No malicious intent detected, no security risks identified.

1
已掃描檔案
205
分析行數
0
發現項
1
審計總數
未發現安全問題
審計者: claude

你能建構什麼

開發者工作流程自動化

軟體開發者使用此技能自動化重複性任務,如檔案批次處理、日誌監控和建構管線。減少搜尋正確指令語法的時間。

系統管理腳本編寫

DevOps 工程師和系統管理師參考這些模式來編寫具有適當錯誤處理的可靠 Bash 腳本。協助建立可維護的伺服器管理自動化腳本。

學習 Bash 基礎

從 Windows 轉換到 Linux 或 macOS 的新使用者學習正確的指令模式並理解 Bash 腳本編寫最佳實踐。提供快速參考,無需搜尋多個文件來源。

試試這些提示

基本檔案搜尋指令
如何找到過去 7 天內修改過的所有 JavaScript 檔案?
程序管理指令
顯示查找並終止使用 port 3000 的程序指令
帶有錯誤處理的腳本
建立一個能正確處理錯誤並在結束時清理的 Bash 腳本範本
文字處理管線
如何從 CSV 檔案提取第二欄並計算唯一值?

最佳實務

  • 始終引用變數以防止單字分割和萬用字元擴展:使用 "$VAR" 而非 $VAR
  • 在腳本開頭使用 set -euo pipefail 以及早捕捉錯誤並在遇到未定義變數時失敗
  • 先用 echo 測試破壞性指令:將 rm 替換為 echo rm 以查看將刪除什麼
  • 在條件式中偏好使用 [[ 而非 [,因為它在現代 Bash 腳本中更安全且更具可移植性

避免

  • 不要解析 ls 輸出 - 改用 find 或萬用字元模式,因為 ls 輸出並非設計用於解析
  • 避免對使用者輸入使用 eval - 它允許任意程式碼執行,是主要的安全漏洞
  • 不要在腳本中使用 cd 而不進行錯誤檢查 - 使用絕對路徑或子 shell(cd ... || exit)
  • 避免在 ls 輸出上迴圈 - 使用 shell 萬用字元(for file in *.txt)進行可靠的檔案迭代

常見問題

為什麼我的 Bash 腳本在直接複製指令時失敗?
腳本在非互動式 shell 中執行,沒有您的別名和 PATH 自訂。始終使用完整路徑,並使用 bash -x scriptname.sh 測試腳本以進行除錯。
單引號和雙引號有什麼區別?
雙引號允許變數擴展和指令替換:"$VAR" 會展開為值。單引號將所有內容視為字面:'$VAR' 保持為字面值。
如何處理檔案名稱中的空格?
始終引用變數:使用 "$file" 而非 $file。使用 while IFS= read -r line 讀取檔案,並使用 find -print0 搭配 xargs -0 進行 null 分隔處理。
為什麼我的腳本說 'command not found'?
該指令不在您的 PATH 中。使用完整路徑(/usr/bin/command)或將目錄新增到 PATH:export PATH="$PATH:/new/path"。使用 command -v cmdname 檢查指令是否存在。
&& 和 ; 有什麼區別?
&& 運算子僅在第一個指令成功(結束碼 0)時執行第二個指令。分號則無論如何都執行兩個指令,即使第一個失敗也會繼續。
如何除錯 Bash 腳本?
使用 bash -x script.sh 執行以在執行前列印每個指令。在腳本中新增 set -x 以啟用特定區段的除錯。使用 set -v 列印讀取的行。

開發者詳情

檔案結構

📄 SKILL.md