试图弄清楚为什么我的 ~/.bash_aliases 中的这个函数会导致错误。
function kill-xbmc () { xbmcpid=`ps aux | grep "[x]bmc" | awk "{printf "%s ",$2}"`; kill -9 ${xbmcpid} }
它不断产生相同的文件结尾错误。我似乎看不到我缺少一对 {} 或 "" 标记或任何过于明显的东西。
尝试这个:
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
请注意,我使用单引号作为外部单引号以确保它$2
不会被 shell 扩展。