2016-08-16 13 views
-1

我希望这些命令的行为相同:为什么在这个鱼(壳)的情况下撑杆扩展不能像循环一样工作?

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

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

事实上,#1的回报,如果用echo,而不是和#2返回两个让我相信是有区别的运行一行。第二个版本起作用,第一个版本只运行第一个脚本。

这是为什么?

+0

'echo'命令不会在文件之后写入换行符。试试:'printf'%s \ n“scripts/{01,02} *。py' – anubhava

回答

1

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

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

结果是不同的。

相关问题