timmy / 永久添加 /usr/local/bin 到 PATH
1 likes
0 forks
1 files
Last active 10 months ago
這段腳本檢查並永久將 /usr/local/bin 添加到 PATH,如果尚未存在,則更新 .bashrc,並透過 source ~/.bashrc 立即生效。
| 1 | # 永久添加 /usr/local/bin 到 PATH |
| 2 | echo "永久添加 /usr/local/bin 到 PATH..." |
| 3 | if ! grep -q "/usr/local/bin" ~/.bashrc; then |
| 4 | echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc |
| 5 | echo "/usr/local/bin 已添加到 PATH 中。" |
| 6 | else |
| 7 | echo "/usr/local/bin 已在 PATH 中,無需再次添加。" |
| 8 | fi |
| 9 | |
| 10 | # 重新整理環境變數 |
timmy / settings.json
0 likes
0 forks
1 files
Last active 10 months ago
| 1 | { |
| 2 | "lsp": { |
| 3 | "pyright": { |
| 4 | "settings": { |
| 5 | "python": { |
| 6 | "pythonPath": ".venv/bin/python" |
| 7 | } |
| 8 | } |
| 9 | } |
| 10 | }, |
timmy / 啟動 Python 虛擬環境 (venv)
0 likes
0 forks
1 files
Last active 10 months ago
這段 Bash 指令用於啟動 Python 虛擬環境 (venv)。虛擬環境能夠隔離 Python 依賴,避免與系統環境發生衝突。執行後,Shell 會進入 .venv 目錄下的虛擬環境,使後續的 Python 執行與套件管理都發生在該環境中。
| 1 | #!/bin/bash |
| 2 | source .venv/bin/activate |
timmy / Raspberry Pi 環境監測系統
0 likes
0 forks
3 files
Last active 10 months ago
此系統使用 Raspberry Pi 讀取 DHT11 感測器的溫濕度資料,並根據溫度範圍控制 LED 燈號。資料會定時儲存至 MySQL 資料庫,並透過 schedule 套件自動執行。程式透過 Supervisor 設定為背景服務,確保持續執行並記錄日誌。
| 1 | CREATE DATABASE environment; |
| 2 | |
| 3 | USE environment; |
| 4 | |
| 5 | CREATE TABLE environment_data ( |
| 6 | id INT AUTO_INCREMENT PRIMARY KEY, |
| 7 | humidity FLOAT NOT NULL, |
| 8 | temperature FLOAT NOT NULL, |
| 9 | recorded_at DATETIME DEFAULT CURRENT_TIMESTAMP |
| 10 | ); |
timmy / SSH 透過跳板機自動代理連線
0 likes
0 forks
1 files
Last active 10 months ago
此 SSH 設定根據目標 IP 或域名,透過不同的跳板機 (ProxyCommand) 進行連線,確保內外部網路存取的靈活性與自動化。
| 1 | Host *.internal.local |
| 2 | ProxyCommand bash -c 'timeout 3 nc -z %h %p || ssh -W %h:%p jump.internal.example.com' |
| 3 | |
| 4 | Host * |
| 5 | ProxyCommand bash -c 'timeout 3 nc -z %h %p || ssh -W %h:%p jump.external.example.com' |
| 6 | |
| 7 | Host 192.168.0.* |
| 8 | ProxyCommand bash -c 'timeout 3 nc -z %h %p || ssh -W %h:%p jump1.example.com' |
| 9 | |
| 10 | Host 172.16.*.* |
timmy / 使用 arp-scan 掃描區域網路中的設備
0 likes
0 forks
1 files
Last active 10 months ago
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 定義預設的配置設定 |
| 4 | SHELL=/bin/sh |
| 5 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
| 6 | TZ='Asia/Taipei' |
| 7 | |
| 8 | # 將配置設定寫入環境變數 |
| 9 | export PATH |
| 10 | export LANG=en_US.UTF-8 |
timmy / 更改 Linux 主機名稱並更新 /etc/hosts
1 likes
0 forks
1 files
Last active 10 months ago
這段 Bash 腳本用於更改系統的主機名稱:它先取得目前的主機名稱並從 /etc/hosts 中移除該名稱的條目,接著使用 hostnamectl 指令設定新的主機名稱,最後將新主機名稱加入到 /etc/hosts 文件中,並輸出成功更新的提示訊息。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 請將 'new_hostname' 替換為你要設定的新主機名稱 |
| 4 | NEW_HOSTNAME="new_hostname" |
| 5 | |
| 6 | # 獲取原本的主機名稱 |
| 7 | OLD_HOSTNAME=$(hostname) |
| 8 | |
| 9 | # 刪除 /etc/hosts 中原本的主機名稱 |
| 10 | sudo sed -i "/127.0.0.1 $OLD_HOSTNAME/d" /etc/hosts |
timmy / 查詢外部 IP 位址並設定環境變數
0 likes
0 forks
1 files
Last active 10 months ago
這段 Bash 腳本設定了基本的環境變數,然後使用 curl 指令從 ifconfig.me 取得目前裝置的 公網 IP 位址,並將結果顯示在終端機。這適用於 快速查詢外部 IP、網路偵錯、伺服器監控,特別是在 NAT 環境或動態 IP 網路 中檢測目前外部 IP 是否變更。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 定義預設的配置設定 |
| 4 | SHELL=/bin/sh |
| 5 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
| 6 | TZ='Asia/Taipei' |
| 7 | |
| 8 | # 將配置設定寫入環境變數 |
| 9 | export PATH |
| 10 | export LANG=en_US.UTF-8 |
timmy / Bash 陣列遍歷與輸出
0 likes
0 forks
1 files
Last active 10 months ago
這個 Bash 腳本建立了一個數字陣列 arr,並透過 for 迴圈遍歷陣列中的每個元素,使用 printf 將其逐行輸出。這適用於 處理資料集合、批次操作或腳本自動化,可用於 列印資料、執行批次指令或進一步處理陣列元素。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 建立一個陣列 |
| 4 | arr=(1 2 3 4 5) |
| 5 | |
| 6 | # 迴圈遍歷陣列的每一個元素 |
| 7 | for i in "${arr[@]}"; do |
| 8 | # 處理每一個元素 |
| 9 | # echo $i |
| 10 | printf "%s\n" "$i" |