将行传递给 cut 并分配给变量 (Bash)

Passing line to cut and assigning to variable (Bash)

我可以像这样读入并打印每个名字:

while read input;
do
    echo $input | cut -d ',' -f 1
done

但是如果我尝试将它分配给一个变量并打印它不起作用。它只输出三个空行。 (我的档案里只有三条记录)。我也尝试了其他方法,但附上了我最近的尝试。

while read input;
do
    firstName=$input | cut -d ',' -f 1
    echo $firstName
done

这是我的用户列表的样子:

Jet,Black
Faye,Valentine
Radical,Edward

搞清楚。我以前尝试过这个解决方案,但忘记了 $input 前面的 echo。

while read input;
do
    firstName=$(echo $input | cut -d ',' -f 1)
    echo $firstName
done

需要放在子shell.

您应该可以执行以下操作:

firstName=$(echo $input | cut -d "," -f 1)