Bash for循环有时会剪辑语句的开头。

时间:2016-10-26 14:32:18

标签: bash

我有一个for循环,下面,

for d in */; do
        echo "importing $d"
        python ../src/import_gtfs_to_sql.py $d nocopy  | psql -q gtfs
done

大多数时候它运行正常,但是这个循环中的一些执行没有完全打印出来。例如,set -vx我看到以下内容:

hon ../src/import_gtfs_to_sql.py $d nocopy  | psql -q gtfs
+ hon ../src/import_gtfs_to_sql.py google_transit_subway/ nocopy
+ psql -q gtfs
./load.sh: line 54: hon: command not found

Bash没有执行整个声明的原因吗?

其他信息:

#bash --version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
#uname -a
Linux osgeolive 3.13.0-83-generic #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

整个脚本是here

1 个答案:

答案 0 :(得分:0)

@tripleee走在正确的轨道上。这仅在脚本在编辑器中打开并且可能在运行时被修改时发生。