15 điểm bởi winterjung 2025-04-19 | 6 bình luận | Chia sẻ qua WhatsApp

Tôi thường thêm các shell script hoặc snippet dưới đây vào ~/.zshrc hoặc tạo alias để dùng, và đăng bài này vì tò mò không biết mọi người đang dùng những snippet nào.

Nội dung bên dưới cũng đã được viết trong blog cá nhân: các shell snippet thường dùng, nhưng để khỏi phải bấm vào xem thì tôi đã dán toàn bộ nội dung vào đây.


1. Xem trang man dưới dạng PDF

pman() {  
  mandoc -Tpdf "$(man -w $@)" | open -f -a Preview  
}  
Quảng cáo

Trên macOS, dùng như $ pman curl.

2. Xóa các branch đã bị xóa khỏi git remote

git fetch -p && for branch in $(git branch -vv | grep ': gone]' | awk '{print $1}'); do git branch -D $branch; done  

Hoặc có vẻ cũng có thể dùng git gone - lệnh tùy chỉnh để xóa toàn bộ branch đã bị xóa trên remote.

3. Áp dụng các biến môi trường trong .env

export $(grep -v '^#' .env | xargs)  
Quảng cáo

Dùng direnv thì có lẽ tốt hơn, nhưng có lẽ do thói quen nên tôi vẫn dùng snippet trên nhiều hơn.

4. Khi tạm thời cần mysql ở local

docker run --rm -d --name mysql \  
  -e MYSQL_ROOT_PASSWORD=password \  
  -e MYSQL_ROOT_HOST=% \  
  -p 3306:3306 \  
  -v $(pwd)/mysql_data:/var/lib/mysql \  
  mysql:8 \  
  --character-set-server=utf8mb4 \  
  --explicit_defaults_for_timestamp=true  

Sau đó kết nối qua localhost:3306 để dùng; nếu không cần giữ volume thì tôi thường bỏ tùy chọn -v.

6 bình luận

 
roxie 2025-06-23
alias enable-sudo-with-touchid="cat /etc/pam.d/sudo && echo 'BEFORE===================\n===================AFTER' && sudo gsed -i '1i auth sufficient pam_tid.so' /etc/pam.d/sudo && cat /etc/pam.d/sudo"  

Đây là script cho phép bạn dùng Touch ID trong những tình huống trên MacBook phải nhập mật khẩu quản trị viên (ví dụ: sudo).

Chỉ cần thiết lập một lần thôi, nhưng nếu thắc mắc tại sao lại có alias này... thì là vì thỉnh thoảng khi nâng cấp phiên bản macOS, thiết lập này lại bị reset.

 
tequila 2025-04-21

Tôi chưa từng nghĩ đến việc dùng alias để bật tạm mysql, khá thú vị đấy.
Tôi thì đặt vài thiết lập nho nhỏ như thế này trong .zshrc để dùng.

cpcat() {  
  cat "$@" | pbcopy  
}  

Chạy cpcat [tên_tệp] thì nội dung của tệp đó sẽ được đưa vào clipboard.

 
roxie 2025-06-23
alias cb="pbcopy"  

Tôi thì đang dùng thế này thôi haha

 
winterjung 2025-04-21

Ồ, lần nào cũng phải pbcopy thì phiền thật, cái này hay đấy! Tên là Copycat à haha

 
ndrgrd 2025-04-19

Hiển thị các cổng chưa được sử dụng trong dải 3000.

function idleports()  
{  
    cols=10  
    count=0  
    output=""  
  
    listening_ports=($(sudo ss -tlpn | grep -o ':30[0-9]*' | sed 's/://g' | sort | uniq))  
  
    for port in {3000..3099}; do  
        if [[ " ${listening_ports[@]} " =~ " $port " ]]; then  
            output+="\033[38;5;235m$port\033[0m  "  
        else  
            output+="$port  "  
        fi  
  
        ((count++))  
        if ((count % cols == 0)); then  
            output+='\n'  
        fi  
    done  
  
    if ((count % cols != 0)); then  
        output+='\n'  
    fi  
  
    echo -e "$output"  
}  
 
kohs100 2025-04-21

Ồ, đúng là một mẹo hay... cảm ơn bạn.