Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何打印变量';s值作为文本字符串_Bash_Variables_Literals - Fatal编程技术网

Bash 如何打印变量';s值作为文本字符串

Bash 如何打印变量';s值作为文本字符串,bash,variables,literals,Bash,Variables,Literals,不确定标题是否准确。假设我有一个带字符串的变量: var=C:\Windows\file.exe 我想打印它的值,就像它是一个文本字符串一样,也就是说,我想在屏幕上看到: C:\Windows\file.exe 但是,当然,通常打印变量的方法不能做到这一点: echo $var C:Windowsfile.exe echo "$var" C:Windowsfile.exe echo '$var' $var 有可能这样做吗?问题在于反斜杠是在定义时由shell操作的,而不是在以后计算变量时。

不确定标题是否准确。假设我有一个带字符串的变量:

var=C:\Windows\file.exe
我想打印它的值,就像它是一个文本字符串一样,也就是说,我想在屏幕上看到:

C:\Windows\file.exe
但是,当然,通常打印变量的方法不能做到这一点:

echo $var
C:Windowsfile.exe
echo "$var"
C:Windowsfile.exe
echo '$var'
$var

有可能这样做吗?

问题在于反斜杠是在定义时由shell操作的,而不是在以后计算变量时。您需要引用声明,即使用任何shell转义机制转义
\
s

以下是您正在做的事情:

$ var=C:\Windows\file.exe

$ echo "$var"
C:Windowsfile.exe
$ var='C:\Windows\file.exe'

$ echo "$var"
C:\Windows\file.exe
以下是您需要的:

$ var=C:\Windows\file.exe

$ echo "$var"
C:Windowsfile.exe
$ var='C:\Windows\file.exe'

$ echo "$var"
C:\Windows\file.exe

问题在于反斜杠是在定义时由shell操作的,而不是在以后计算变量时。您需要引用声明,即使用任何shell转义机制转义
\
s

以下是您正在做的事情:

$ var=C:\Windows\file.exe

$ echo "$var"
C:Windowsfile.exe
$ var='C:\Windows\file.exe'

$ echo "$var"
C:\Windows\file.exe
以下是您需要的:

$ var=C:\Windows\file.exe

$ echo "$var"
C:Windowsfile.exe
$ var='C:\Windows\file.exe'

$ echo "$var"
C:\Windows\file.exe

再说一遍,
bash
batch
?bash,别介意这个例子,这只是关于反斜杠的用法。你知道反斜杠字符是什么意思吗?在哪个操作系统下?西格温?试试
echo-E“${var}”
linux/unix,而不是windowsreach、
bash
batch
?bash,别介意这个例子,这只是关于反斜杠的用法。你知道反斜杠字符的意思吗?在哪个操作系统下?西格温?试试
echo-E“${var}”
linux/unix,而不是windowsWow,我实际上知道这一点,我想我试着引用文字。显然不是。谢谢。请注意单引号的具体用法。在双引号字符串中,有三个转义序列被处理:
\`
\$
和\\。(第一个允许在不启动命令替换的情况下使用文字反引号,第二个允许在不启动参数扩展的情况下使用文字
$
,最后一个允许在不转义后面的反勾号或美元符号的情况下指定文字反斜杠。)哇,我实际上知道这一点,我还以为我尝试了引用文字。显然不是。谢谢。请注意单引号的具体用法。在双引号字符串中,有三个转义序列被处理:
\`
\$
和\\。(第一个用于允许文字反斜杠而不启动命令替换,第二个用于允许文字
$
而不启动参数扩展,最后一个用于指定文字反斜杠而不转义后面的反勾号或美元符号。)