变量中的输出不应被解释为命令

Gre*_*hor 1 shell-script variable assignment

所以这个问题已经被问过几次了,但答案似乎对我不起作用。所以我有这个简单的脚本

#!/bin/bash
charon_id = $(pidof charon)
kill -1 $charon_id
Run Code Online (Sandbox Code Playgroud)

控制台说charon_id: command not found*

我尝试了不同的版本,"$( ),;后面,甚至是$(... 2>&1)我在某处看到的。到目前为止没有任何帮助。建议?

* 从控制台语言翻译成英文

Ste*_*ris 5

你的问题是空格

你写了

charon_id = $(pidof charon)
Run Code Online (Sandbox Code Playgroud)

这意味着“charon_id使用两个参数运行命令;第一个是=字符,第二个是$(..)命令的输出

它应该是

charon_id=$(pidof charon)
Run Code Online (Sandbox Code Playgroud)

现在您将输出分配给变量。