在 Bash 中将波形符回显到文件而不扩展它

2023-11-22

我需要在 Bash 脚本中向文件写入一个参数,所以我正在做这样的事情,

echo "Argument is: $1" >> file

问题是,如果参数中有波形符 (~),我不希望它扩展到主目录。因此,如果用户将 ~/bin 作为参数传递给脚本,它将被写为 ~/bin 而不是 /home/user/bin。我该怎么做呢?


我假设你的程序是这样启动的:

$ your_prog ~/foo

该参数在程序启动之前就已被翻译,因此除了教育用户在不需要扩展时适当引用之外,您无法采取任何措施来阻止它:

$ your_prog "~/foo"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Bash 中将波形符回显到文件而不扩展它 的相关文章

  • 如何显示 NUL 分隔数据的中间管道结果?

    如何组合以下两个命令 find print0 grep z pattern tr 0 n find print0 grep z pattern xargs 0 my command 进入单个管道 如果我不需要 NUL 分隔符那么我可以这样做
  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 伊迪德信息

    重新定义问题 有什么方法可以获取所连接显示器的序列号吗 我想收集显示器的Eid信息 当我使用 logverbose 选项运行 X 时 我可以从 xorg 0 log 文件中获取它 但问题是 如果我切换显示器 拔出当前显示器 然后插入另一个显
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • 将“npm run start”的输出写入文件

    我想捕获的输出npm run start在一个文件中 我遇到了大量错误 我想更好地控制如何筛选输出 当我尝试时 npm run start gt log txt 我得到一个非常简短的文件 8 行 其结尾为 34m 39m 90m wdm 3
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 在razor视图引擎中转义@字符

    我正在使用 Razor 作为视图引擎创建一个示例 ASP NET MVC 3 站点 razor 语法开头为 字符例如 RenderBody 如果我在 cshtml 页面上写 test 它会给我解析错误 CS0103 当前上下文中不存在名称
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • grep 两个分隔符之间的子字符串

    我有很多bash使用的脚本perl内的表达式grep为了提取两个分隔符之间的子字符串 例子 echo BeginMiddleEnd grep oP lt Begin End 问题是 当我将这些脚本移植到运行的平台时busybox 融合的 g
  • 将相对符号链接转换为绝对符号链接

    如何在 bash 中递归地将相对符号链接转换为绝对符号链接 ln sf readlink f link link
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 如何判断 Bash 中是否存在文件?

    这会检查文件是否存在 bin bash FILE 1 if f FILE then echo File FILE exists else echo File FILE does not exist fi 我如何只检查文件是否存在not ex
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两

随机推荐

  • Ef Linq 查询超时,但在 SSMS 上相同查询不到 1 秒

    首先我尝试过ARITHABORT OFF在 SSMS 上仍然不到 1 秒 我使用 EntityFrameWork 6 1 3 和 Azure Sql S1 层 我将尝试使用第 3 层 如果有变化 请通知您 我使用 EF Profiler 从
  • 如何列出最近24小时内有数据变化的所有表?

    我们遇到了一个丑陋的问题 平衡器错误地将一些请求重定向到具有与生产数据非常相似的数据的测试实例 现在我知道测试 Postgres 中记录了属于生产的数据 有没有办法列出Postgres中过去24小时内有数据更改的所有表 Postgres 版
  • 基于高效 2D Tile 的照明系统

    在 Java 中为基于图块的引擎进行照明最有效的方法是什么 是否会在图块后面放置黑色背景并更改图块的 Alpha 或者放置一个黑色的前景并改变它的阿尔法 还是其他什么 This is an example of the kind of li
  • iOS动态高度UITableViewCell和heightForRowAtIndexPath

    我在一个大型项目中为我的新 UITableViewCells 使用自动布局 我有一个 TableView 其中每一行的高度是自动计算的 我不使用委托函数heightForRowAtIndexPath 我已经声明了估计的行高 tableVie
  • 如何将.dll导入Android java项目(使用eclipse)

    Java 本机接口 JNI Java 本机接口 JNI 是其中之一 java 的有趣界面使用 Java 本机接口 JNI 可以与其他应用程序一起运行 和图书馆 JNI 是 java 的本机编程接口 是 JDK 的一部分 使用 JNI 您可以
  • 在 Dart 中,使用 new 关键字和直接调用构造函数有什么区别?

    我看到我可以使用 argument MyClassName a b 也 argument new MyClassName a b 我想明白的是newDart 中可选 或者这两个返回完全不同的东西 Dart 2 0 强模式下new 和 con
  • Twig_Error_Syntax 表示“未知过滤器”,在 Timber 中带有 Twig 过滤器

    这一定很简单 但我看不出有什么问题 我正在使用简单的过滤器示例https twig symfony com doc 1 x advanced html filters使用 Timber 中的 Twig 1 34 这是一个 WordPress
  • 如何使用 Android 版 Glide 压缩和降低图像质量

    我正在使用 Glide 库上传图像 在另一个应用程序中 我使用此代码 void imageButtonclick iv1 setOnClickListener new View OnClickListener Override public
  • 在分页函数中使用 limit 参数

    是否可以在 paginate 函数中使用 limit 参数 我正在尝试这个 users gt where gt limit 50 gt paginate page 现在 如果数据库中有 100 个用户 那么 paginate 函数的响应将是
  • Android HILT SingletonComponent 与 GoF Singleton 实例设计模式

    在 Android 项目中 有一个外观作为单例实现 我认为使用 HILT SingletonComponent 将其转换为 DI 是一个更好的主意 Module InstallIn SingletonComponent class obje
  • 获取 WindowRef 的边界?

    我正在尝试找到一个 Carbon API 它可以从窗口 id 中为我提供 WindowRef 并且通过该 windowref 我想要有边界吗 编辑 我找到了API extern WindowRef HIWindowFromCGWindowI
  • Skylake L2 缓存通过减少关联性增强?

    In 英特尔的优化指南在第 2 1 3 节中 他们列出了 Skylake 中缓存和内存子系统的许多增强功能 重点是我的 Skylake微架构的缓存层次结构有以下 增强功能 与前几代相比 缓存带宽更高 通过扩大的缓冲区可以同时处理更多的负载和
  • 有什么区别stdint h and cstdint 它们都可以在 MSVC Visual Studio 2010 和 gcc 4 5 1 中使用 并且两者都定义了intX t uintX t类型 其中X是类型的大小 以位为单位 如果两个标头
  • 正则表达式包括结果中应该是非捕获组的内容

    我有以下简单的测试 我试图获取正则表达式模式 以便它提取不带 exe 后缀的可执行文件名称 看来我的非捕获组设置 exe 不起作用或者我误解了它的工作原理 Both regex101 and 正则风暴网显示相同的结果 前者确认 exe 是非
  • 了解 SpriteKit CollisionBitMask

    我正在学习使用SpriteKit我正在遵循碰撞教程 我很难理解以下代码 struct PhysicsCategory static let None UInt32 0 static let All UInt32 UInt32 max sta
  • 在运行时覆盖 __setattr__

    我知道在 Python 中可以在运行时向类添加方法 class Test def init self self a 5 test Test import types def foo self print self a test foo ty
  • 迭代 numpy 数组的前 d 轴

    我得到了一个具有任意数量轴的数组 我想迭代它们 比如其中的第一个 d 我该怎么做呢 最初我想我会创建一个包含我想要循环的所有索引的数组 使用 i np indices a shape d indices np transpose np as
  • 在 C/C++ 中加密文本文件的最佳方法是什么?

    只要用户登录 基于 C C 的 cgi Web 应用程序就会在服务器上创建一个临时文本文件 当用户注销时 该文本文件将被删除 我想加密这个文本文件以及文件的内容 该文件将包含用户名和密码等信息 做这个的最好方式是什么 编辑 我看到有人建议图
  • UIWebBrowserView 不跨越整个 UIWebView

    所以我一直在尝试让这个简单的行为在我的 iPhone 应用程序上运行一段时间 我的顶部有一个导航栏 底部有一个标签栏 我正在将所有内容加载到网络视图中 我希望将其放在两者之间 我已经发帖讨论过这个问题两次了 都在这里 IOS 视图仍然没有加
  • 在 Bash 中将波形符回显到文件而不扩展它

    我需要在 Bash 脚本中向文件写入一个参数 所以我正在做这样的事情 echo Argument is 1 gt gt file 问题是 如果参数中有波形符 我不希望它扩展到主目录 因此 如果用户将 bin 作为参数传递给脚本 它将被写为