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

时间:2015-12-26 09:43:26

标签: bash unix sh

有人可以向我解释为什么以下shell脚本行会抛出此错误:

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

错误:

syntax error 'var=$' unexpected

1 个答案:

答案 0 :(得分:5)

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

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

或将第一行更改为

#!/bin/bash

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

(顺便说一下,不需要拖尾分号。)