pkill -fで始まるsshを介して1行に複数のコマンドを実行する

pkill -fで始まるsshを介して1行に複数のコマンドを実行する

ラズベリーパイを使って奇妙なことを見つけました。

オプションなしでpkillを使用すると、後で同じ行から別のコマンドを実行できますが、-fオプションを使用すると後続のコマンドは無視されます。理由を知っている人はいますか?

$ ssh [email protected] "pkill -f blablabla ; echo yeaaaah"
[email protected]'s password:


$ ssh [email protected] "pkill blablabla ; echo yeaaaah"
[email protected]'s password:
yeaaaah

blablablaプロセスが存在するかどうかには違いはありません。

答え1

コマンドラインのどの場所でも一致することが-f許可されるため、リモートシェルの引数リストで一致して終了します。pkillblablabla

代わりに実行すると、何が起こっているかを確認できますpgrep -af

$ ssh [email protected] "pgrep -af blablabla ; echo yeaaaah"
[email protected]'s password:
29223 bash -c pgrep -af blablabla ; echo yeaaaah
yeaaaah

関連情報