跳到主要内容

Shell 转义:把字符串安全引用进 bash 和 POSIX shell

把任意字符串安全放进 bash:单引号包裹、双引号转义、反斜杠模式,还能反向还原,全程在浏览器里

  • 本地处理
  • 分类 开发运维
  • 适合 格式化、校验、压缩或检查和代码相关的文本。

把整串用单引号包裹,内部的单引号写成 '\'' 。单引号里 $ ` \ ! 都按字面算,所以这是最安全的选项。

这个工具能做什么

Shell 转义把任意字符串变成可以直接粘进 bash 或 POSIX shell 命令的形式, 不会断行、不会泄露变量、也不会留下注入口子。带空格的文件名 my file.txt、 含 $HOME 的参数、字面引号、反引号和换行都能处理。三种模式任选:单引号 包裹(最安全,整串放进单引号,内部引号用经典的「闭合-转义-重开」写法)、 双引号转义(给双引号里仍特殊的四个字符加反斜杠)、反斜杠模式(给每个 shell 元字符单独加反斜杠)。反向模式把带引号的参数还原成纯文本,让你看清 复制来的命令里到底是什么。所有运算都是浏览器标签页里的纯 JavaScript, 不上传任何内容,输入还会同步进网址,分享链接能原样打开同一个转义结果。

工具细节

输入
文件 + 文本
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 9 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
开发运维 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

Shell 转义 适合怎么用

适合穿插在写代码、查问题、做 Review、上线前的小任务里。

适合开发场景

  • 格式化、校验、压缩或检查和代码相关的文本。
  • 把片段整理好再放进文档、工单、提交或交接材料。
  • 不切换工具,快速检查一个小 payload。

开发检查项

  • 压缩、混淆这类不可逆处理,先对副本操作。
  • 除非确认工具本地处理,不要粘贴密钥和敏感片段。
  • 转换后的代码上线前,仍要跑自己的测试或 lint。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 Bash 速查表 Bash 速查表,100+ 命令和习语,涵盖变量、条件、循环、函数、管道、信号陷阱,真实一行命令。 打开
  2. 2 字符串转义 / 反转义 为 JSON、JS、Java、C、SQL、Shell、HTML、CSV、正则转义和反转义字符串 —— 双向 —— 浏览器本地 打开
  3. 3 正则转义 把字面文本变成安全的正则:a.b 变 a\.b,一键复制可直接用的 /…/,也能反向去转义,全程在浏览器里 打开

真实使用场景

  • 把含空格的文件名传给 cp、mv 或 rm

    你有个下载文件叫 invoice 2026 final.pdf,要在脚本里移动它。裸粘进 mv 会让 shell 读成三个参数,命令要么失败要么移错文件。把名字粘进来, 复制单引号结果,作为一个安全路径放进命令。再也不用为了躲空格而先 重命名文件。

  • 用不可信用户输入拼 shell 命令

    网页表单或命令行拿到一个值,你用它拼一条 shell 命令。不转义的话, 像 ; rm -rf ~ 或 $(curl evil.sh) 这样的值会被当成代码执行,而不是 数据。先对值做单引号包裹,shell 就把它当成一个字面参数,不展开也不 切分,堵住最常见的 shell 注入口子。

  • 在命令里嵌入字面美元符或反引号

    你想 echo 出字面文本 Price is $9.99,或传一个含反引号的密码。不转义 的话,shell 会试图展开 $9、执行反引号里的文本。在这里转义后,特殊 字符会作为纯文本到达,你的程序拿到的值就和你输入的一模一样,而不是 被破坏、部分展开过的字符串。

  • 还原复制来的命令看清它到底跑什么

    有人甩给你一条满是引号和反斜杠的命令,你想在运行前看清真实参数。 切到反向模式,粘进带引号的那段,读回纯文本。这是对网上抄来命令的 快速安全检查,带引号的一坨里可能藏着出人意料的载荷。

常见踩坑

  • 给本会展开的值套双引号。双引号里 $VAR 和 `cmd` 仍会运行,所以把不可信输入套进双引号挡不住注入。值来自程序外部时用单引号包裹,双引号留给你掌控、且确实需要变量展开的文本。

  • 想在单引号里用反斜杠转义单引号。单引号里反斜杠是字面字符,所以 'it\'s' 不管用,会让 shell 一直等闭合引号。唯一正确的写法是「闭合-转义-重开」的 'it'\''s',本工具会自动生成。手写的转义器在这点上常年出错。

  • 忽略反斜杠模式里的换行陷阱。紧贴换行前的反斜杠是行续接而非字面换行,所以逐字符转义多行值会悄悄把多行接成一行。本工具改用带引号的换行,但只会给特殊字符加反斜杠的简陋转义器会把你的换行吃掉。

隐私说明

你粘进来的文本、转义、反向还原和结果,都是浏览器标签页里的纯 JavaScript 算出来的。什么都不发往服务器,也不记录。唯一要知道的:输入 会编码进页面网址,好让分享链接能原样打开同一个转义结果,这也意味着你 粘到聊天里的链接,会把这段文本留在对方服务器的访问日志里。如果你在转义 要放进命令行的密码、令牌或任何机密,请不要分享网址。用复制按钮只粘结果, 并记住命令行上的机密也可能落进你的 shell 历史记录。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-05-29