linux 中双引号和单引号的区别
以下回答来自ChatGPT
✅
✅
✅
✅ 只支持单引号
⚠️ Fortran 不支持使用反斜杠
对 '
(单引号)和 "
(双引号)在 **Bash(或大多数 Unix Shell)中区别的中文解释:
✅ '单引号'
— 原样输出(字面意思)
-
单引号中的所有内容都会被 原样输出
-
不会对变量进行替换
-
不会执行命令替换
👉 单引号会保护 $
、\
、`
等特殊字符,不让它们有任何特殊含义。
✅ "双引号"
— 允许变量替换
-
双引号内的变量会 被替换成实际的值
-
可以执行命令替换,如
`date`
或$(date)
-
仍然保护大部分空格和特殊字符,但会识别
$
、`
、"
,\
这几个字符
✅ 对比表格
功能 | '单引号' | "双引号" |
---|---|---|
是否展开变量 | ❌ 不展开 | ✅ 会展开 |
是否执行命令替换 | ❌ 不执行 | ✅ 会执行 |
是否解析转义字符(\) | ❌ 不解析 | ✅ 会解析部分字符 |
用于输出纯文本是否合适 | ✅ 最适合 | ⚠️ 需要小心 $ 、\ 等 |
✅ 什么时候用哪个?
使用场景 | 推荐引号 |
---|---|
纯文本、不希望变量被替换 | '单引号' |
需要插入变量或执行命令 | "双引号" |
💡 小技巧(嵌套使用):
你可以在一个引号中使用另一种引号,例如:
或者你也可以用 \
来转义特殊字符:
Python 和 Fortran 中 单引号 '
与 双引号 "
的区别。
🐍 一、Python 中的区别
在 Python 里:
✅ '单引号'
和 "双引号"
完全等价
它们都用于表示字符串(str
类型),功能上没有差别。选择哪个完全取决于风格和方便书写。
✅ 常用规则:
场景 | 推荐使用 |
---|---|
字符串内有 ' 单引号 |
用双引号包裹("I'm happy" ) |
字符串内有 " 双引号 |
用单引号包裹('He said "hi"' ) |
你也可以使用转义符 \
:
✅ 多行字符串(docstring)
Python 也支持三引号字符串(可以是三单引号 '''
或三双引号 """
),用于多行文字或文档说明:
📐 二、Fortran 中的区别
Fortran 中的字符串使用稍有不同(以现代 Fortran 90 及之后版本为主):
✅ 只支持单引号 '...'
(推荐)或双引号 "..."
表示字符串
两者基本等价,功能上也没区别。
✅ 需要嵌套引号时,就得换另一种:
和 Python 类似,Fortran 也允许你通过成对引号来表示一个引号字符本身:
⚠️ Fortran 不支持使用反斜杠 \
进行转义。
🔚 总结表格
功能/语言 | Python | Fortran |
---|---|---|
' 和 " 等价 |
✅ 是 | ✅ 是 |
是否支持变量替换 | ❌ 否(必须显式拼接) | ❌ 否(纯文本) |
多行字符串 | ✅ 用 ''' 或 """ |
⚠️ 不直接支持 |
转义方式 | ✅ 用 \ 转义 |
❌ 不支持 \ ,用双写引号 |