撕掉我的头发试图找出为什么〜/ .bash_aliases中的这个函数导致错误。
function kill-xbmc () { xbmcpid=`ps aux | grep "[x]bmc" | awk "{printf "%s ",$2}"`; kill -9 ${xbmcpid} }
它始终产生相同的文件错误结束。我似乎无法看到我错过了一对{}或“”标记或任何过于明显的标记。
答案 0 :(得分:3)
试试这个:
function kill-xbmc () { xbmcpid=`ps aux | grep "[x]bmc" | awk '{printf "%s ",$2}'`; kill -9 ${xbmcpid}; }
函数中的最后一个语句未以;
结束,因此结束}
被视为最后一个语句的一部分。假设脚本的其余行是函数的一部分,因此当找不到匹配的结束括号时,“意外的文件结束”错误。
我还更改了awk
参数的引号。您对嵌套引号使用相同的引号字符,因此字符串过早终止。
awk "{printf "%s ",$2}"
--------- | ------
| | |
s1 | s2
|
%s outside string
请注意,我使用单引号作为外部引号,以确保shell不会扩展$2
。