首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何将">>“或"<<”传递给我的脚本,而不让终端试图将其解释为我附加到某物或获取标准输入?

在Unix-like系统中,">>"和"<<"通常被shell解释为重定向操作符,分别用于追加和从标准输入读取。如果你想在脚本中传递这些字符而不让shell进行重定向,你需要对它们进行转义。

基础概念

  • 重定向操作符:">>"用于追加输出到文件,"<<"用于从标准输入读取直到遇到匹配的字符串。
  • 转义字符:反斜杠(\)用于告诉shell忽略下一个字符的特殊含义。

解决方法

你可以通过以下几种方式将">>"或"<<”传递给脚本:

方法一:使用反斜杠转义

在命令行中直接使用反斜杠来转义这些字符:

代码语言:txt
复制
./your_script.sh \>\> \<<

方法二:使用单引号

将参数放在单引号中,这样shell就不会解释其中的特殊字符:

代码语言:txt
复制
./your_script.sh '>>' '<<'

方法三:使用双引号并转义

如果你需要在双引号中使用这些字符,记得转义它们:

代码语言:txt
复制
./your_script.sh ">>" "<<"

示例代码

假设你的脚本your_script.sh接收两个参数,并打印它们:

代码语言:txt
复制
#!/bin/bash
echo "Received arguments: $1 $2"

使用上述任一方法调用脚本,例如:

代码语言:txt
复制
./your_script.sh '>>' '<<'

输出将会是:

代码语言:txt
复制
Received arguments: >> <<

应用场景

这种方法在编写需要处理特殊字符的脚本时非常有用,尤其是在自动化脚本或者需要将这些符号作为普通字符串处理的场景中。

通过这种方式,你可以确保">>"和"<<"被当作普通字符串传递给脚本,而不是被shell解释为重定向操作符。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

玩转tee命令 派发命令行的输出

问: 我知道如何使用tee将 aaa.sh 的输出(标准输出)写入 bbb.out,同时还在终端中显示: ..../aaa.sh | tee bbb.out 现在,我该如何将标准错误写入名为 ccc.out 的文件,同时显示它? 答: tee -- 从标准输入读取内容,并将内容写到标准输出和文件。...参数 -a或--append -- 追加到给定的 FILEs,不要覆盖 -i或--ignore-interrupts -- 忽略中断信号 --help...然后,它使用 >(文件重定向)将 command 的标准输出重定向到第一个 tee 正在监听的 FIFO。注意 > 和左括号之间不能出现空格,否则该结构将被解释为一个重定向。...tee 将其输入 输出回标准输出,但由于其输入是 command 的标准错误,我们希望将该 tee 的标准输出再次重定向到我们的标准错误。

18830

用Click编写Python命令行工具

在本教程的最后,你会知道: 为什么click相比于argparse和optparse来说是一个更好的选择 如何用它创建一个简单的CLI 如何将强制命令行参数添加到您的脚本 如何解析命令行标志和选项 如何通过添加帮助...Python 3.x标准库中提供的命令行框架 将命令和参数添加到脚本中是非常强大的,但命令行的解析并不像您想象的那样直截了当。...正如你所看到的,我们也可以用一个短划线( - )来提供一个快捷方式来保存用户的一些输入。 我之前提到,click从较长的版本创建传递给主函数的参数。...我们必须做的最后一件事是将API密钥传递给我们的current_weather函数。 我们使CLI用户可以使用自己的密钥并查看任何位置: ? 看着我的窗口,我可以证实这是真的。...以下是你所学到的: 为什么click是一个更好的选择相对argparse和optparse 如何用它创建一个简单的CLI 如何将强制命令行参数添加到您的脚本 如何解析命令行标志和选项; 如何通过添加帮助

3.4K10
  • 安全编码实践之一:注入攻击防御

    我想我今天已经足够了,所以让我们直截了当。 我们来挖掘吧! 让我开始我的定义注入及其发生的原因。攻击者输入恶意有效载荷,可以欺骗解释器执行非预期的命令或访问未经授权的数据。...注入缺陷的发生是由于不受信任的数据作为命令或查询的一部分直接发送到解释器而没有检查或清理有效负载导致所有问题的唯一原因。...这两个代码之间的唯一区别是,在第一个代码中,攻击者输入的值直接传递给程序,而在第二个代码中,我们不是传递值,而是直接将其打印出来,使得整个攻击无用。 防止SQL注入攻击应该涉及输入验证。...在上面的图像中,我们观察到有一个文本框,我们需要输入主机名/ IP,然后将获取有关IP地址的详细信息,然后呈现给我们。 整个应用程序似乎非常简单,但它很容易受到代码注入的影响。...那些与终端合作的人他们知道我们可以在终端中使用&&同时传递两个不同的命令。 ? 因此,上图显示了代码注入的确切方式。

    1.5K20

    【译】《Thinking in Promises》第二章:意图的许可

    投球者可能将这种强加视为一种友善的表达——例如将其当成一种邀请的方式。而接球者却可能因为没兴趣做运动、或者忙着别的事情,而将其视为一种打扰。...规则只是资源合作的种子。 图 2-1 强加并不意味着强制。自主的代理仍然是可以自愿进行响应(或者不响应)的。图右侧试图表达的是,可能因为不愿意响应或无法响应而导致了承诺无人响应。...我是一个逻辑门,承诺能在 TRUE 和 FALSE 之间进行转换。 我是一个变量,承诺表示一个值为 17 的整型值。 我是一个命令行处理器,承诺接受输入并执行来自用户的命令。...一个(-)承诺(使用/接受)可以是:“我接受你的结婚提议,”或者“我接受你的数据承诺,并将你添加到我的访问控制列表。” 一个(+)强加(给予)可以是:“你最好给我你的午餐钱!”...如果一个代理承诺给予某物,这并不意味着接收代理承诺接受它,因为那将违反自主原则。这也适用于一个代理对另一个代理施加影响,例如给予某物(请为我们的慈善机构捐款),或接收某物(你真的必须接受我们的慈善)。

    15610

    从零开始使用 Astro 的实用指南

    到目前为止,我们已经制作了页面,并向其添加了组件,而几乎不需要写任何HTML以外的东西。 添加脚本 代码栅栏是你的Astro组件的脚本部分。...在我们的例子中,我们可以定义一个pageTitle参数,并把它传递给我们的BaseLayout组件,以便能够在不同的页面上有不同的页面标题。...我给我的Home和About页面添加了一些静态内容,并写了一些样式。 下面是我添加到我的主页的内容: --- import BaseLayout from '.....那么问题来了,如何将React组件添加到你的项目中。 首先,你需要将React添加到你的项目中。...所以我将用我的终端来安装这个包: npm install react-faq-component 我将把FAQ.jsx和FAQ.css文件添加到components目录中,并对我所导入的组件进行自定义

    1K40

    Linux重定向

    小结: 在 Linux 中,重定向是一种将命令的输出或输入重定向到文件或其他命令的机制。它可以用于管理标准输入、标准输出、标准错误等。重定向通常与命令行中的 >、>、2> 等符号一起使用。...标准输出(stdout):向终端输出结果,文件描述符是 1。 标准错误(stderr):向终端输出错误信息,文件描述符是 2。 2. 输出重定向 将命令的输出重定向到文件或设备,而不是显示在终端上。...输入重定向 将文件的内容作为命令的输入,而不是从终端获取输入。 输入重定向(的标准输入。...管道(|) 管道用于将一个命令的标准输出作为另一个命令的标准输入。 bash command1 | command2 示例:将 ls 命令的输出通过管道传递给 grep 命令进行过滤。...管道与错误输出重定向: bash ls | grep ".txt" 2> error.log 解释:如果 ls 或 grep 过程中出现错误,错误信息将被写入 error.log 文件,而标准输出仍通过管道传递

    13110

    简化视频广告投放

    面对所有这些挑战,我们作为一个行业需要为各种用例设置一条清晰的道路。 数字视频广告标准的现状 以下是我对视频技术标准的现状的看法。...交互式规范尚无名称,但是出于本博客文章的目的,我将其暂时称为“ VPAID-i ”(注意–自发布此博客以来,VPAID-i已发布并命名为“ SIMID”。此处有更多详细信息)。...验证脚本是通过VAST 4验证节点传递的,因此可以轻松建立信任关系 交互性:“ VPAID-i” (*为待命名)和“ VAST交互式模板” VAST互动模板–用于基本的互动体验,例如终端卡。...这些脚本不可编写,需要发行商支持才能获得UI资产并提供交互式体验。我看到了一些标准化这些扩展的提议,以便可以大规模使用。...同时,请查看VAST扩展,以获取简单的交互式体验(如终端卡)。帮助我们确定您的挑战,并构建“ VPAID-i”和“ VAST交互式模板”。 验证:立即开始着手进行开放测量。

    1.6K20

    笨办法学 Python3 第五版(预览)(一)

    Nice. 21 """) 我们创建一个名为prompt的变量,设置为我们想要的提示,并将其提供给input,而不是一遍又一遍地输入。...回去逐行比较我的代码和你的代码,从脚本底部到顶部。每当你看到这个错误时,意味着你拼写错了或忘记创建变量。 练习 15:读取文件 你知道如何使用input或argv从用户那里获取输入。...找出为什么我们需要将'w'作为open的额外参数传递。提示:open试图通过让你明确表示你要写入一个文件来保持安全。...每个人都不同,所以继续前进,继续复习你遇到困难的练习,直到理解为止。要有耐心。 len()函数是做什么的? 它获取你传递给它的字符串的长度,然后将其作为一个数字返回。试着玩一下。...当我试图缩短这个脚本时,在结尾关闭文件时出现错误。

    24310

    Linux 操作系统下的bash read命令

    Linux read命令用于从标准输入读取数值。 read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。...Bash附带了许多内置命令,您可以在命令行或Shell脚本中使用它们。 在本文中,我们将探讨内置的read命令。...您可以使用其他方法(例如管道,here-string或heredoc)将标准输入传递给read,而不是在终端上输入 echo "Hello, World!"...提示字串 编写交互式bash脚本时,可以使用read命令获取用户输入。 要指定提示字符串,请使用-p选项。 该提示会在执行read之前打印出来,并且不包含换行符。...(例如密码),请使用-s选项,告诉read不要在终端上打印输入: read -r -s -p "Enter your password: " 将单词分配给数组 要将单词分配给数组而不是变量名,请使用-

    2.4K40

    Linux后台运行程序最实用的两种方式

    场景1:我用xshell通过 telnet/ssh 远程登录服务器,跑脚本或执行一些耗时较长的任务,有时会因为网络不稳定或手贱等原因断开我的控制终端(如:xshell、sourceCRT)的远程连接状态...场景2:我需要长时间稳定的跑脚本,希望能在Linux后台跑,关掉xshell也没事,且随时可以回来看输出信息或操作。   如果你曾被这类问题困扰过,或现在正为此发愁?那么请往下看。...Screen时,常用的一些命令: screen -S name -> 创建一个名为:name 的session(伪终端) screen -R name -> 先试图恢复离线的session。...,而 screen 是 init(PID为1)的子进程。...附、一张有故事的照片(十三) 最近这个图在我朋友圈刷屏了 是 LOL 的 s1 界面 看到时心中五味杂陈 那时,我还是个意气风发的网瘾少年 还有梦想 十年之后

    3.5K21

    如何在 LinuxUnix 中永久设置 $PATH

    问题 在 Linux 上,我如何将一个目录添加到 $PATH 中,以便在不同的会话中持续有效? 背景: 我正尝试将一个目录添加到我的路径中,以便它将始终在我的 Linux PATH 中。...我已经试过: export PATH=$PATH:/path/to/dir 这样做有效,但是每次我退出终端并启动一个新的终端实例时,这个路径就会丢失,我需要再次运行 export 命令。...由 systemd 使用,设计上不会将这些值传递给用户的登录 shell。 3./etc/xprofile:在启动 X Window System 会话时执行的 shell 脚本。...该文件被其他脚本包含,因此使用 POSIX shell 语法,而不是你的用户 shell 语法。 4./etc/profile 和 /etc/profile.d/*:shell 脚本。..._login:shell 脚本。仅对从终端或终端模拟器启动的程序可见。适用于 shell-only 系统。由处于登录模式的 shell 使用。 4.~/.

    9210

    在Linux使用Bash脚本命令

    编写Bash脚本或在Linux命令行上工作时,最常见的任务之一是读写文件。 本文介绍了如何使用重定向操作符和tee命令或者在bash脚本将文本写入文件。...noclobber”选项: set -o noclobber echo "this is a line" >| file.txt >>运算符将输出追加到文件末尾,而不是覆盖文件: echo "this...使用tee命令写入文件 tee命令从标准输入读取并同时写入标准输出和一个或多个文件。...要将输出附加到文件,请使用-a(--append)选项调用命令: echo "this is a line" | tee -a file.txt 如果您不希望tee写入标准输出,则可以将其重定向到/dev...要将文本追加到您没有写权限的文件中,请在tee之前加 sudo : echo "this is a line" | sudo tee file.txt echo命令输出作为输入传递到tee,这将提升sudo

    2K10

    从Wide and Deep、DeepFM到DLRM,现代的推荐系统算法研究

    现在的关键是模型如何处理它们。 FM的回归部分像标准回归任务一样处理稀疏数据(例如“用户”)和连续数据(例如“时间”),因此可以解释为FM中基于内容的过滤方法。...FM层的加法部分直接获取原始输入向量x(稀疏特征层),然后将每个元素与其权重相乘(“正常连接”),然后求和。...FM层的“内积”部分也获得原始输入x,但仅在原始输入x通过嵌入层之后才获取,并且简单地获取嵌入向量之间的点积而没有任何权重(“ Weight-1 Connection”)。...在DLRM设置中,可以认为完全忽略了DeepFM的经典深度分量,它被添加到DeepFM最后一层的FM分量的结果中(然后被输入到一个sigmoid函数中)。...所以在这一点上,我只能猜测今天的互联网巨头都在用什么来给我们提供我们最有可能点击的广告。我认为它很可能是前面提到的自动编码器方法和本文中介绍的某种形式的深层混合模型的组合。

    1.9K10

    Python重定向标准输入、标准输出和标

    ,即重复某物一定的次数。...交互窗口”中(或终端,如果你从命令行运行这一脚本)。...我们没有指定一个模块(象 binary.xml),而是指定“-”,这会让我们的脚本从标准输入而不是从磁盘上的一个特别文件中装入语法。(在下个例子中有更多关于它是如何发生的内容。)...不只是简单地执行 cat binary.xml,我们可以运行一个可以动态生成语法的脚本,然后可以将它通过管道输入到我们的脚本中。语法可以来自任何地方:数据库,或某个语法生成元脚本什么的。...那么当语法文件是“-”时我们的脚本是如何中从标准输入读入的呢?没什么神秘的,就是编码。 例 5.36.

    4K10

    反射跨站脚本(XSS)示例

    我曾试图不要这个例子,但我必须这样做。如果您是一名开发人员,并且您不熟悉XSS,请了解阻止JavaScript函数(如alert(),prompt(),confirm()不会停止跨站脚本的发生。...其他标准有效载荷也是如此,但是如果我们试图用Javascript将用户重定向到另一个站点,那么有效载荷就没有问题了。...您可能会发现这没有验证,它的值被附加到脚本中的变量,或者它被添加到响应中的其他地方。...从图片你可以看到我们的XSS过滤器不喜欢脚本标记,但是我们插入尖括号,而不编码它们。 以下屏幕截图显示,如果您插入随机标签,则会将其删除。...由于我们传递给变量的值小于8个字符,所以没有任何切片,函数将返回一个NULL值。 让我们尝试给我们的变量八个字符的值。

    2.9K70

    linux的nohup命令的用法

    咨询红旗Linux工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。...在第二遍给我演示时,我才发现我和他操作终端时的一个细节不同:他是在当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;...附:nohup命令参考 nohup 命令 用途:不挂断地运行命令。...无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 退出状态:该命令返回下列出口值: 126 可以查找但不能调用 Command 参数指定的命令。

    3.7K20

    带着老李折腾山寨Workerman(四)

    ]或[ 念天地之悠悠,独怆然而涕下 ]等多种不同的诗句来花式地表达自己,而栋子则因为长期的文化匮乏每次只能狠嘬一口白沙后恶狠狠地说同一句话[ 尚能饭否!尚能饭否!]......记得后来没多久,领导让我研究一个爬虫脚本,当时为了不让脚本莫名其妙退出就天天看着电脑不关机,再后来就用Linux命令后加一个[ & ]符来跑...莫名其妙挂了几次后,我决定彻底研究一下[ 如何使程序在后台保持稳定...如果我们想看下这种[ 后台 ]任务的列表,要在当前终端窗口输入jobs命令,注意是只能在当前这个终端窗口。 ?...这会儿我又不得不说下当年去HomeLink基础平台部面试时候的一道题目了:当你在终端里输入一个命令按下回车后发生了什么事情。 当然了,众所周知(其实大概就四五个人知道)我回答的并不好。...一个较为完善的daemonize函数,应该具备如下要点: 设置好umask 将目录切换到根目录,避免默认工作目录被daemon进程占据无法卸载 关闭标准输出等或将其重定向到指定地方 所以一个稍微完善点儿的

    82431

    独家 | 手把手教你如何用Python从PDF文件中导出数据(附链接)

    本文介绍了在提取出想要的数据之后,如何将数据导出成其他格式的方法。 有很多时候你会想用Python从PDF中提取数据,然后将其导出成其他格式。...让我们尝试用最简单的方法来使用它,那就是仅仅传递给它一个PDF文件的路径。我们会使用w9.pdf文件。打开一个终端并且定位到你存放PDF文件的位置,或修改一下命令指向待处理文件: ?...注意最新的版本是0.5.2,而pip未必能拿到这个版本。如果拿不到,那么你可以从GitHub上直接获取slate安装: ? 现在我们已经准备好写一些代码来从PDF中提取文本了: ?...让我们运用从前一章节学到的内容来创建一个导出器脚本来输出JSON而不是XML: ? 这里,我们引入所需要的不同的库,包括PDFMiner模块。...Pages键对应一个空的表单。接着,我们循环遍历PDF的每一页并且提取每一页的前100个字符。然后创建一个字典变量以页号作为键100个字符作为值并将其添加到顶层的页表单中。

    5.4K30

    shell脚本对编码和行尾符敏感吗

    问: 我正在macOS上制作一个NW.js应用程序,并想通过双击图标在开发模式下运行该应用程序。在第一步中,我试图使我的shell脚本正常工作。...在我的编辑器(VS Code)中,我尝试将\r\n替换为\n(以防\r产生问题),但它没有改变什么。 它似乎没有找到文件夹(有或没有dirname指令),或者可能它不知道cd命令?...我输入了完全相同的指令,然后...现在它工作起来没有任何问题。 用 diff 对比两个文件的差异显示完全没有差异。 有什么区别?是什么导致第一个脚本无法运行?我怎样才能知道? 答: 是的。...Bash将shebang之后的第一行(由一个回车字符组成)解释为要运行的命令/程序的名称。...^M而不是install作为参数传递给npm,这会导致npm报错。

    17720

    shell语法学习

    这是一个简单的程序,将字符串 “HelloWorld” 打印到标准输出中。然后,使用 vim 或 nano 等编辑器创建 hello-world.sh 文件,并将以下行复制到其中。 #!...我将其命名为 test.sh,调用过程概述如下。 $ ./test.sh Hey Howdy Bash 因此,用于访问第一个参数,2 用于访问第二个参数,依此类推。最后,$# 用于获取参数总数。...20.添加多个值 您可以使用循环获取多个用户输入并将其添加到脚本中。以下示例显示了这一点。 #!...27.附加到文件 下面的 shell 脚本示例将向您展示如何使用 bash 脚本将数据附加到文件系统上的文件。它向早期的 editors.txt 文件添加了一行。 #!...然后,它将新内容放入新文件,并保持原始文件的完整性。 40.系统维护 我经常使用一个小的 Linuxshell 脚本来升级我的系统,而不是手动升级。

    1.2K40
    领券