0

我的makefile中有这个

test:
   cat t.txt | sort -t $$'\t' -k 2,2

但是“make test”给了我这个错误

猫t.txt | sort -t $'\t' -k 2,2 sort: multi-character tab `$\t' make: * [test] Error 2

在 Redhat linux 上工作正常,但在 Ubuntu linux 上失败

4

2 回答 2

1

$'\t'您尝试使用的语法是 bash-ism,但默认情况下 gmake/bin/sh用作 shell。您可以覆盖您的 makefile 中的 SHELL 变量,如下所示:

SHELL=/bin/bash

或为此特定命令显式调用 bash:

test:
   bash -c "cat t.txt | sort -t $$'\t' -k 2,2"
于 2012-06-23T07:02:54.430 回答
0

问:这是在什么操作系统上失败?

建议:

您可以替换一个实际的选项卡,例如sort -t "<Ctl-V><Tab>"

于 2012-06-23T03:15:23.310 回答