-1

我希望这些命令的行为相同:

# 1
python3 scripts/{01,02}*.py

# 2
for script in scripts/{01,02}*.py; python3 $script; end

如果使用 #1 运行而不返回单行,echo而 #2 返回两行,这一事实让我相信存在差异。第二个版本有效,第一个版本只运行第一个脚本。

这是为什么?

4

1 回答 1

1

我不熟悉,fish但乍一看,在第一种情况下,您正在运行一个python解释器实例,作为第一个参数传递要执行的脚本和作为第二个参数(第一个参数传递给它可能会忽略的第一个脚本)第二个脚本的名称。

在第二种情况下,您正在运行python解释器的两个实例,每个实例都带有要执行的脚本的名称。

结果不一样也就不足为奇了。

于 2016-08-16T10:17:21.933 回答