{
  "alfredsnippet" : {
    "snippet" : "bind -x '\"\\C-l\":clear'\n\nfunction convert_ip_address() {\n  # 將命令列參數中的字串存入變數\n  local ip_address=$1\n\n  # 使用正規表示式判斷輸入字串是否為四個數字\n  if [[ $ip_address =~ ^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$ ]]; then\n    # 將字串中的每一個數字提取出來\n    IFS='.' read -r num1 num2 num3 num4 <<< \"$ip_address\"\n\n    # 判斷每一個數字是否介於 0 到 255 之間\n    if [[ $num1 -ge 0 && $num1 -le 255 ]] && [[ $num2 -ge 0 && $num2 -le 255 ]] && [[ $num3 -ge 0 && $num3 -le 255 ]] && [[ $num4 -ge 0 && $num4 -le 255 ]]; then\n      # 使用模式匹配將字串中的所有 \".\" 取代為 \"-\"\n      ip_address=${ip_address\/\/.\/-}\n\n      # 輸出新的字串 \"ip-${ip_address}\"\n      echo \"ip-${ip_address}\"\n    else\n      # 如果輸入的字串不符合 IP 位址的格式，則輸出錯誤消息\n      echo \"輸入的字串不是有效的 IP 位址！\"\n    fi\n  else\n    # 如果輸入的字串不符合 IP 位址的格式，則輸出錯誤消息\n    echo \"輸入的字串不是有效的 IP 位址！\"\n  fi\n}\n\n# 定義一個名為 get_ip_address 的 Bash 函式\nfunction get_ip_address() {\n  # 將傳入的第一個參數(interface_name)指定給局部變數 interface_name\n  local interface_name=$1\n  # 使用 ip addr show 指令檢索指定網路介面(interface_name)的 IP 位址，\n  # 並使用 grep 和 awk 指令提取 inet 開頭的那行，\n  # 再使用 cut 指令以斜線(\/)作為分隔符號提取 IP 位址部分，\n  # 將這個 IP 位址存入局部變數 ip_address\n  local ip_address=$(ip addr show \"$interface_name\" | grep -w 'inet' | awk '{print $2}' | cut -f1 -d'\/')\n  # 輸出 IP 位址\n  echo \"$ip_address\"\n}\n\n# 設定 PS1 環境變數，用於定義命令列提示符\n# 提示符包含使用者名稱 (\\u)，\n# 並呼叫 convert_ip_address 函式並傳入 get_ip_address 函式的結果作為參數，\n# 同時使用 echo -n 指令將目前的工作目錄顯示為家目錄(~)的縮寫，\n# 最後以 \\$ 表示命令列提示符的結束\n# PS1='\\u@$(convert_ip_address \"$(get_ip_address \"eth0\")\") $(echo -n \"${PWD\/$HOME\/~}\") \\$ '\n\nif [ \"$(id -u)\" -eq 0 ]; then\n    # For root user\n    PS1='\\[\\033[01;31m\\]\\u\\[\\033[00m\\]@\\[\\033[01;97m\\]$(convert_ip_address \"$(get_ip_address \"eth0\")\")\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ '\nelse\n    # For non-root users\n    PS1='\\[\\033[01;32m\\]\\u\\[\\033[00m\\]@\\[\\033[01;97m\\]$(convert_ip_address \"$(get_ip_address \"eth0\")\")\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ '\nfi\n",
    "uid" : "4151EAD0-D3BF-43E2-9F6C-5B56BFA3291D",
    "name" : "bash_custom_prompt",
    "keyword" : ""
  }
}