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

Bash中的多行输入,子subshell项包含在单引号中

在Bash中,多行输入是指在命令行中输入多行文本,并将其作为一个整体进行处理。子shell是指在当前shell环境中创建一个新的子进程,该子进程可以执行一系列命令,并且在执行完毕后返回到父进程。

在Bash中,可以使用单引号来包含子shell项。单引号会保留其中的所有字符的字面值,不进行任何变量替换或命令替换。这意味着子shell中的命令不会被执行,而是作为纯文本进行处理。

以下是一个示例:

代码语言:txt
复制
$ echo 'This is a multi-line input
> that is enclosed in single quotes.'
This is a multi-line input
that is enclosed in single quotes.

在上面的示例中,输入的文本被包含在单引号中,并且在输出时保持了原样,包括换行符。

对于子shell项包含在单引号中的情况,由于单引号会保留其中的所有字符的字面值,因此子shell中的命令不会被执行。如果需要执行命令并获取其输出,可以考虑使用双引号或不使用引号来包含子shell项。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

Shell编程中出现`command not found`错误问题归因以及内部变量相关知识点

$这里主要意思是说,在if-then结构,(command) 命令不需要重启一个父shell,而是直接运行一个shell,而它父shell是SingleParentheses.shshell...但是我在前面的章节也知道,很多系统变量都喜欢用英文大写字母来定义,比如说HOME、PATH、IFS等,但就是没有想到$BASH_SUBSHELL也是一个系统内部变量。...$BASH_SUBSHELL)))hello world23例3:[root@iZuf6gxtsgxni1r88kx9rtZ linux_cmd]# (echo hello world;(echo...$BASH_SUBSHELL);(echo $BASH_SUBSHELL))hello world22第一个例子显示2,代表了echo $BASH_SUBSHELL 为第二层shell;第二个例子第一个...$BASH_SUBSHELL为第二层shell,而第二个$BASH_SUBSHELL为第三层shell;第三个例子两个$BASH_SUBSHELL为同一层级且均为第二层shell。

45620

第三十七章 : 奇珍异宝

在我们 bash 学习旅程最后一站,我们将看一些零星知识点。当然我们在之前章节已经涵盖了很多方面,但是还有许多 bash 特性我们没有涉及到。...也要注意到整个循环是包裹在花括号,从而形成了一个组命令。这样就允许整个循环输出会被管道输送给 sort 命令输入。这是必要,因为展开数组元素是无序。...然而,一个组命令在当前 shell 执行它所有命令,而一个 shell(顾名思义)在当前 shell 一个副本执行它命令。这意味着运行环境被复制给了一个新 shell 实例。...这个包含在管道线 tail 命令,是为了消除列表第一行文本,这行文本是多余。...在这个例子,我们看到该脚本是非常简单。真正操作通过父脚本完成。在父脚本脚本被启动,并被放置到后台运行。脚本进程 ID 记录在 pid 变量,这个变量值是 $!

59110

为什么要用fish shell

1.1 单引号和双引号 fish这里对待单引号和双引号方式和bash不太一样。fish对待两种引号区别:能不能进一步展开$变量。双引号可以,单引号不可以。...命令保存在内存,之后才保存在硬盘fish_history文件,一个会话不能看到另一个没关闭会话命令,需要手动执行history merge(这个试了没用,可能跟fish版本支不支持有关系) History...代替中间不懂名字目录)等。 比如/home/m*/(这里会列出所有m开头文件夹供选择)、波浪线~/。...当前命令,$status上一条命令执行状态 0:成功 1:执行失败 121:无效输入参数 123:参数字符串不对 124:通配符没有匹配到任何东西 125: 找到命令路径,但运行不了 126:...,git分支,命令选项等 没有subshell,所以对shell改变对当前会话是可见

2.3K591

Linux学习笔记(三)

它是一个时刻都在运行复杂交互式程序。 shell 是用户和 Linux(Linux内核)之间接口程序。你在控制台输入每一个命令都是由shell解释之后再传给Linux内核。.../bin/sh 可直接通过输入bash命令进入相应shell解释程序 eg: zsr :: / % sh sh-3.2$ exit exit zsr :: / % bash bash-3.2$ exit...pwd; ls; pwd; ls; echo $BASH_SUBSHELL {pwd; ls; pwd; ls; echo $BASH_SUBSHELL;} # 花括号不会成为进程列表 (pwd; ls...; pwd; ls; echo $BASH_SUBSHELL;) # 将命令列表用括号起来能成为进程列表 在shell脚本,经常使用shell进行多shell处理。...需要注意是,bash命令历史记录是先保存在内存,当shell退出时才会写入到历史文件 history !100 # 可执行历史命令号为100命令 !!

42810

shell语法

/bin/bash解释时候也是注释,只是系统识别为脚本解释器 多行注释:前 :<<EOF后:EOF;其中EOF也可以换成其他字符串,或者符号(必须首位相同) 变量 变量定义 定义变量不需要¥符号 name1...(全局变量):进程可以访问变量 自定义变量转环境变量 export 变量名 declare -x 变量名 此时可以在进程中使用变量 使用bash 使用bash会将原进程...bash睡眠掉,进入一个新bash进程 退出:exit或者ctrl+d 环境变量转自定义变量 declare +x 变量名(可以理解为给变量赋予了自定义权限) 字符串 字符串可以使用单引号...,也可以使用双引号,也可以不使用引号 单引号和双引号区别(不加引号和双引号相同) 单引号内容会原样输出,不会执行,不会取变量(即不会转义),即没有使用&符号取值 双引号内容可以执行,可以取变量...显示结果到echo “Hello world” > output.txt 原样输出字符串,不进行转义或取变量:用单引号引起来 显示命令执行结果:用`引起来 printf语句(c++是以,隔开每一

10110

shell基础教程1-变量、字符串、数组、注释

变量类型(变量作用域) 5. `Shell`字符串 5.1. 单引号 5.2. 双引号 5.3. 拼接字符串 5.4. 获取字符串长度 5.5. 提取字符串 5.6. 查找字符串 6....$0表示当前正在运行shell或者shell脚本名称。 这是bash一个特殊参数,但是也可以用在其他shell,比如sh、zsh、 tcsh 或者dash。...找到当前shell版本 一旦知道使用哪个shell,可能还需要知道此shell版本。在命令行输入shell并在后面加上--version参数可以查看版本信息。...单引号 str='this is a string' 单引号字符串限制: 单引号任何字符都会原样输出,单引号字符串变量是无效 单引号字串不能出现单独一个单引号(对单引号使用转义符后也不行...多行注释 多行注释还可以使用以下格式: :<<EOF 注释内容... 注释内容... 注释内容... EOF EOF 也可以使用其他符号: 单引号(') 和 感叹号(!) :<<' 注释内容...

1.7K20

第十章·Linux系统管理-输入输出

错误覆盖输出重定向 2> 将程序错误结果输出到执行文件,会覆盖源文件内容 错误追加输出重定向 2>> 将程序输出错误结果以追加方式输出到指定文件,不会覆盖源文件 标准输入重定向 << 将命令接收输入途径由默认键盘更改为指定文件.../bin/bash . /etc/init.d/functions read -p "请输入要检测IP:" IP ping -c1 -W1 $IP if [ $?.../bin/bash . /etc/init.d/functions read -p "请输入要检测IP:" IP ping -c1 -W1 $IP >/dev/null if [ $?.../bin/bash . /etc/init.d/functions read -p "请输入要检测IP:" IP ping -c1 -W1 $IP >/dev/null if [ $?...执行 [root@zls ~]# (cd /boot; ls) #如果不希望某些命令执行对当前 shell 环境产生影响,请在subshell执行 管道技术 什么是管道 管道操作符号 "|"

1.1K40

linux特殊字符及其作用大全

quote) 被单引号用括住内容,将被视为单一字串。...要处理这种情况,我们得用倒单引号来做。 fdv=`date +%F`echo "Today $fdv" 在倒引号内 date +%F 会被视为指令,执行结果会带入 fdv 变数。...除了上述之外,还有一个地方必须使用冒号 在使用者自己HOME 目录下 .bash_profile或任何功能相似的档案,设定关于"路径"场合,我们都使用冒号,来做区隔。...状态值 (status variable) 一般来说,UNIX(linux) 系统进程以执行系统调用exit()来结束。这个回传值就是status值。回传给父进程,用来检查进程执行状态。...* cmd > file 把cmd命令输出重定向到文件file。如果file已经存在,则清空原有文件,使用bashnoclobber选项可以防止复盖原有文件。

3K52

Python基础语法-基本数据类型-字符串

字符串是Python中最常用基本数据类型之一,用于表示文本信息。在Python,字符串被定义为一系列字符序列,可以使用单引号、双引号或三引号来表示。...# 使用三引号定义多行字符串字符串基本操作字符串连接使用加号(+)可以将多个字符串连接起来,形成一个新字符串。例如:s1 = 'hello, 's2 = 'world!'...例如:s1 = 'hello, 's2 = s1 * 3print(s2) # 输出hello, hello, hello, 字符串索引和切片可以使用索引和切片来访问字符串单个字符或串。...字符串每个字符都有一个对应索引,可以使用索引来访问该字符。字符串切片则表示从该字符串中提取出一段串。...其中,切片起始位置是包含在,而结束位置是不包含在。字符串长度可以使用len()函数来获取字符串长度。例如:s = 'hello, world!'

26820

shell 编程记录

/区别 source 在当前shell内去读取、执行a.sh,而a.sh不需要有"执行权限" sh 都是打开一个subshell去读取、执行a.sh,而a.sh不需要有"执行权限" .通常在subshell...test可用比较运算符只有==和!=,两者都是用于字符串比较,不可用于整数比较,整数比较只能使用-eq, -gt这种形式。 无论是字符串比较还是整数比较都千万不要使用大于号小于号。...当然,如果你实在想用也是可以,对于字符串比较可以使用尖括号转义形式, 如果比较"ab"和"bc":[ ab \< bc ],结果为真,也就是返回状态为0. [[ ]] 这是内置在shell一个命令...注意:使用[]和[[]]时候不要吝啬空格,每一两边都要有空格,[[ 1 == 2 ]]结果为“假”,但[[ 1==2 ]]结果为“真”!...后台运行最后一个进程ID号 $@ 与$*相同,但是使用时加引号,并在引号返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令退出状态。

59220

shell学习教程(超详细完整)

: 双引号能够识别变量,双引号能够实现转义(类似于“\*”) 单引号是不能识别变量,只会原样输出,单引号是不能转义 shell特殊符号 符号 作用 ’ ’ 单引号。...(推荐使用) () 用于一串命令执行时,()命令会在Shell运行 {} 用于一串命令执行时,{ }命令会在当前Shell执行。也可以用于变量变形与替换。 [ ] 用于变量测试。.../bin/bash #批量解压缩脚本 cd/lamp #进入压缩目录 ls *.tar.gz > ls.log #把所有.tar.gz结尾文件文件覆盖到ls.log 临时文件 for i in...~ B 判断字符串A是否不包含能匹配B表达式字符串 动作(Action) : 格式化输出 流程控制语句 常用参数: -F 指定输入时用到字段分隔符 -v 自定义变量...= 不等于 关系运算符 A~B 判断字符串A是否包含能匹配B表达式字符串 关系运算符 A!

5.7K20

Shell脚本编程30分钟入门

业界通常混用bash、sh、和shell,比如你会经常在招聘运维工程师文案见到:熟悉Linux Bash编程,精通Shell编程。...输入一些代码,第一行一般是这样: #!/bin/bash #!/usr/bin/php “#!”是一个约定标记,它告诉系统这个脚本需要什么解释器来执行。...注释 以“#”开头行就是注释,会被解释器忽略。 多行注释 sh里没有多行注释,只能每一行加一个#号。...单引号 str='this is a string' 单引号字符串限制: 单引号任何字符都会原样输出,单引号字符串变量是无效 单引号字串不能出现单引号(对单引号使用转义符后也不行) 双引号...$real_path 用户输入 执行脚本时传入 脚本运行输入 select菜单 stdin和stdout 常用命令 sh脚本结合系统命令便有了强大威力,在字符处理领域,有grep、awk、sed三剑客

1.4K20

python 去除字符串标点符号 用_浅谈Python字符串

除此之外,当字符串用双引号定义时候,单引号可以直接出现在字符串,但是双引号不可以。同理用单引号时也是一样,双引号可以直接出现,但是单引号不能出现。  ...为此可以使用两个索引,并用冒号分隔,切片可以理解成数学开闭区间[a,b)如下所示:  注意:第一个索引指定元素包含在切片内,但是第二个索引指定元素不包含在切片内。...如下所示:  5.索引和切片越界   在Python不允许序列每个元素索引越界,程序字符串越界,编译器会报告错误,如下所示:   但是在切片中可以允许索引越界,如果切片左边索引过小,切片会从序列第一开始...,如果切片右边过大,切片会一直到序列最后一。...sub:待检索字符串sub:待检索字符串。起始索引。end:表示检索范围结束索引。  (3)lower():用于将字符串所有的字母转换成小写字母。

1.8K40

小白Linux入门--入门篇(二):Linux特殊符号.~>

该命令单独使用时,仅显示历史命令,在命令行,可以使用符号!执行指定序号历史命令。例如,要执行第2个历史命令,则输入!2。 ?...'string' 单引号 (single quote) 被单引号用括住内容,将被视为单一字串。在引号内代表变数$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。...fdv=`date +%F`还有另外一种写法就是fdv=$(date +%F),两个命令是等价,只是反单引号(``)容易被看穿('')单引号而已。...n* man.1 man.test [root@RHEL6 ~]# 善用她特点,可以做比较精确档名匹配。 2、在bash“?”问号也是一个特殊变量。在bash里面这个变量很重要。...回传给父进程,用来检查进程执行状态。 一般指令程序倘若执行成功,其回传值为 0;失败为 1。

23.6K77
领券