linux - 变量在 shell 脚本中不起作用

标签 linux bash shell

<分区>

我在我的 shell 脚本中使用以下内容

LOGDATE='date +%m%d%y_%H%M'

然后在同一个 shell 脚本中调用如下内容

$LOGDATE

但是打印输出如下

echo $LOGDATE

date +%m%d%y_%H%M

谁能告诉我哪里做错了?

最佳答案

您将用于转义字符串的单引号字符 ' 误认为反引号字符 ` 执行子 shell 中的内容并以字符串形式返回标准输出。

LOGDATE=`date +%m%d%y_%H%M`

较新的 bash 版本也允许语法

LOGDATE=$(date +%m%d%y_%H%M)

它可能被认为更具可读性并且允许更容易的表达式嵌套:

关于linux - 变量在 shell 脚本中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44253276/

相关文章:

linux - Eclipse 工作区作为项目的系统根引用

Linux 用户空间应用程序编译错误

linux - 合并头文件和部分尾文件然后合并到标准输出的有效方法

arrays - 匹配 shell 中的单词后分割字符串

c++ - 如何从 sh 脚本获取 `wget` 的返回值到 `int` 变量

linux - CSV 文件不输出数据对齐不起作用

正则表达式匹配引号之间的字符串

linux - 当CPU中运行的进程离线时会发生什么

linux - 无法使用查找实用程序找到文件

linux - 更改目录中的文件名