惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
爱范儿
爱范儿
博客园 - 聂微东
美团技术团队
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
云风的 BLOG
云风的 BLOG
罗磊的独立博客
V
Visual Studio Blog
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

Bash

Linux bash 脚本监控和重启一个守护进程 Bash Script 代码比较,你认为哪个更加容易理解? 有使用 kitty 当日常终端的老哥吗? 在输入命令时,自动调用 fzf 进行模糊匹配 使用 shell 的 bash -c "functions"时,是不是所有相关的函数都得声明出来? shell 比较浮点数大小的问题,顺便吐槽以下 shell bash-completor:声明式编写 Bash 补全脚本 sudo 改用 pkexec 的问题 sed 如何查找替换反斜杠 lobash 发布 v0.5.0 版本 为什么这样写无法连接(join)数组各项? 如何使用 awk 打印 nginx 404 日志的目录 请教一下,怎么把向终端输入的内容重定向一份到文件? 请教一下 shell 里使用 jq 处理 json 应该怎么写 求一个 wsl2 ubuntu20.04 的默认 /etc/bash.bashrc 如何让 bash 的补全 popup 显示 如何去除 Bash variable expansion 后加的单引号? 初学者写了个 bash 脚本,求大佬点评 tar 使用管道的困惑 如何获取命令标准输出到变量里并保留颜色?或者能不能一边输出一边赋值或判断。 请问如何在 alias 命令里传递参数? Bash 下如何优雅地临时在后台运行程序并易于管理? shell tr -cd 匹配字符串问题 shell 中的 import 能不能支持 as 或 alias 类似功能 Shell 多个文本间隔追加的方法 生产服务器集群被黑了,帮看看这个脚本 如何实现一个符合规范的 shell? 请教下如何检测文件是否存在 bash 里面有 io 多路复用吗? 闲的蛋疼,用 shell 写了个拓扑排序。。。
有个脚本代码的问题
canitnamechange · 2023-12-26 · via Bash

原因:想写一个批量加静态路由的 bat 脚本,适用于不同网段的终端快速配置双网卡上网。

过程:由于是第一次写,也不知道怎么在网上找只能用 gpt3.5 艰难的生成好了所有功能,但是太长了,问了同事 可以用变量缩短,又是一个上午过去了 gpt 被玩坏了发一句抱歉一句然后瞎扯。

route add -p "A" mask 255.255.255.0 "B" 结果:目前是删除路由的那段脚本好了,添加脚本提示一堆看着像不合规的命令输出,这段要实现的是在"A"变量 组里面循环一次,"B"里的下一跳路由用户输入的序号提供,由于用户直接输入的是网段还需要再改写成网关 才行,下面是代码,希望有大佬给指点下,万分感谢:

@echo off
PUSHD %~DP0
TITLE 双网卡配置脚本
mode con cols=60 lines=32
color 3e

:menu
cls
echo.
echo. 请选择内网网段
echo ---------------------------
echo.
echo        0  10.10.6.0
echo        1  10.10.7.0
echo        2  10.10.8.0
echo        3  10.10.9.0
echo        4  10.10.10.0
echo        5  10.10.11.0
echo        6  10.10.12.0
echo        7  10.10.13.0
echo        8  10.10.14.0
echo        9  192.168.200.0
echo        10 192.168.22.0
echo        11 192.168.201.0
echo.
echo.
echo        q  退出
echo.
echo        d  删除路由表
echo.
echo ---------------------------
echo.

echo. 请输入序号:
set /p ID=

if "%ID%"=="q" (
    goto :eof
)

if "%ID%"=="d" (
    goto delete_routes
)

if %ID% LSS 0 (
    goto menu
)

setlocal enabledelayedexpansion

set "routes=10.10.6.0 10.10.7.0 10.10.8.0 10.10.9.0 10.10.10.0 10.10.11.0 10.10.12.0 10.10.13.0 10.10.14.0 192.168.200.0 192.168.22.0 192.168.201.0"
set "gateways=10.10.6.1 10.10.7.1 10.10.8.1 10.10.9.1 10.10.10.1 10.10.11.1 10.10.12.1 10.10.13.1 10.10.14.1 192.168.200.1 192.168.22.1 192.168.201.1"

for /L %%i in (0,1,11) do (
    if "!ID!"=="%%i" (
        set "gw=!gateways%%i!"
        for %%a in (!routes!) do (
            route add -p %%a mask 255.255.255.0 !gw!
            echo 已添加路由: %%a !gw!
        )
    )
)


echo. 添加完成

timeout /t 50 >nul
goto menu

:delete_routes
set "routes=10.10.6.0 10.10.7.0 10.10.8.0 10.10.9.0 10.10.10.0 10.10.11.0 10.10.12.0 10.10.13.0 10.10.14.0 192.168.200.0 192.168.22.0 192.168.201.0"

for %%r in (%routes%) do (
    route delete %%r
    echo 已删除路由: %%r
)

timeout /t 1 >nul
echo. 删除完成
goto :menu