bash - shell 脚本语法错误 'var=$' 意外

标签 bash unix sh

谁能给我解释一下为什么下面的 shell 脚本行会抛出这个错误:

#!/bin/sh
var=$(uptime | awk ' { print $2 } ');
echo $var ;

错误:

syntax error 'var=$' unexpected

最佳答案

根据系统及其配置方式,/bin/sh 不一定理解 $(...) 语法。要么将其更改为旧语法:

var=`uptime | awk ' { print $2 } '`

或者把第一行改成

#!/bin/bash

(是的,POSIX 为 sh 指定了 $(...) 命令替换语法,但是 /bin/sh 不是始终符合 POSIX。)

(顺便说一句,结尾的分号不是必需的。)

关于bash - shell 脚本语法错误 'var=$' 意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34470155/

相关文章:

c - 如果它们同时执行,如何从另一个可执行文件访问变量?

c - 如何确定 C 中的 Unix 文本文件?

c - 多个进程中的静态变量(信号)

javascript - Bash 字符串替换函数类似于 Javascript String.prototype.replace()

bash - 是否有更一致的方式来声明 Bash 变量和函数?

java - 如何添加名为: `-DurlParams=intent=REGULAR&auto=w1` 的java系统属性

python - 尝试在 Docker 中运行 Cloudera Image

bash - 如何使 .bashrc 别名在 vim shell 命令中可用? (:! ...)

linux - 编写 .sh 代码

linux - grep 语句在 case 语句中不起作用