2016-08-16 12 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解釋程序的兩個實例,每個實例都具有要執行的腳本的名稱。

結果是不同的。

相關問題