Linux命令在shell上运行正常但在脚本中运行不正常

时间:2018-01-08 19:10:09

标签: linux bash shell

我在2中有Linux个文件,如下所示

file1

test_1
test_3
test_5
test_6

file2

test_1,smoke_test
test_2,rain_test
test_3,sun_test
test_4,wind_test

我想比较这两个文件并删除file1file2comma(,)

之前的第一部分file3中的表格

需要输出:

test_5 test_6

grep -v -Ff <(cut -d',' -f1 file2) file1 >file3

我试过以下

new.sh: line 67: syntax error near unexpected token `('

我得到了我想要的东西。

现在,当我编写脚本时,它会抛出错误

Script

#!/bin/bash grep -v -Ff <(cut -d',' -f1 file2) file1 >file3

sh -x script.sh

我正在运行它:

{{1}}

1 个答案:

答案 0 :(得分:2)

您使用sh而不是bash运行脚本,因此您无法获得bash进程替换等<(...)扩展名。运行它:

bash -x script.sh

或只是:

./script.sh

后者将使用#!行中命名的解释器。