有人可以向我解释为什么以下shell脚本行会抛出此错误:
#!/bin/sh
var=$(uptime | awk ' { print $2 } ');
echo $var ;
错误:
syntax error 'var=$' unexpected
答案 0 :(得分:5)
根据系统及其配置方式,/bin/sh
并不一定了解$(...)
语法。将其更改为旧语法:
var=`uptime | awk ' { print $2 } '`
或将第一行更改为
#!/bin/bash
(是的,POSIX为$(...)
指定了sh
命令替换语法,但/bin/sh
并不总是符合POSIX标准。)
(顺便说一下,不需要拖尾分号。)