0

~/.bash_aliases のこの関数がエラーを引き起こしている理由を突き止めようとして、髪を引き裂いています。

function kill-xbmc () { xbmcpid=`ps aux | grep "[x]bmc" | awk "{printf "%s ",$2}"`; kill -9 ${xbmcpid} }

同じファイルの終わりエラーが発生し続けます。{} や "" マークのペア、または過度に明白なものが欠けていることがわかりません。

4

1 に答える 1

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

$2シェルによって展開されないようにするために、外側の引用符に単一引用符を使用したことに注意してください。

于 2012-10-10T10:24:53.520 に答える