Bash -c 'env' 和 bash -c "env" 的区别详解
在 Bash 中,-c 选项用于执行指定的命令字符串。在这种情况下,env 命令用于显示当前环境变量。
bash -c 'env' 和 bash -c "env" 之间的差异在于单引号和双引号的使用。
-
bash -c 'env':在单引号中,命令字符串被视为一个整体,不会对其中的变量进行替换。这意味着env命令将以字面方式执行,并显示当前 Bash 的环境变量。 -
bash -c "env":在双引号中,命令字符串会进行变量替换。这意味着env命令将显示当前 shell 的环境变量,而不是 Bash 的环境变量。这是因为双引号允许在命令字符串中使用变量,并将其替换为其值。
假设当前 shell 的环境变量 VAR=example,那么执行 bash -c 'env' 将显示:
VAR=example
而执行 bash -c "env" 将显示:
环境变量列表(包括当前 shell 的环境变量和 Bash 的环境变量)
原文地址: https://www.cveoy.top/t/topic/fnzI 著作权归作者所有。请勿转载和采集!