bash
我刚刚分配了一个变量,但 echo $variable 显示其他内容
以下一系列情况echo $var
可能会显示与刚刚分配的值不同的值。无论分配的值是“双引号”、“单引号”还是未加引号,都会发生这种情况。
我如何让 shell 正确设置我的变量?
星号
预期输出是/* Foobar is free software */
,但我得到的却是一个文件名列表[……]
bash/shell脚本中单引号与双引号有什么区别
单引号不会插入任何内容,但双引号会。例如:变量、反引号、某些\
转义符等。
例子:
Bash 手册中有这样的说法:
将字符括在单引号 (
'
) 中可保留引号内每个字符的字面值。单引号之间不能出现单引号,即使前面有反斜杠。
shell脚本中的引号
我是否应该在 shell 脚本中用引号括住变量?
例如,一下两个脚本的区别是啥?
一般规则:如果参数可以为空或包含空格(或任何空格)或特殊字符(通配符),则将其括起来。不将带空格的字符串括起来通常会导致 shell 将单个参数拆分成多个参数。
假设 script.s[……]