我经常将临时循环直接写入命令行以运行一堆实验。这总是一次性的事情,所以编写一个脚本文件是不需要的开销。 不过,我想在一堆参数上拉开命令,我想在某些方面运行一个命令:
for arg1,arg2 in 256,lol 128,foo 32,bar
./bla --many-flags --name $arg2 --something $arg1
end
我可以取得类似的东西,但在
string
(或旧版本中)的鱼类中很脆弱:
tr delim \n
我想知道任何人都知道不需要每次使用参数的繁琐的子命令的更好方法(甚至可以多次使用参数),更糟糕的是,可能会导致各种各样的任意定界符问题?理解,我什至可以将其用作
for exp in 256,lol 128,foo 32,bar
./bla --many-flags --name (string split ',' $exp)[2] --flag (string split ',' $exp)[1]
end
let
根据问题的评论,这是不支持的。最接近的解决方法似乎是:
for arg1,arg2 in 256,lol
./bla --many-flags --ame $arg2 --something $arg1
end
对定期互动的使用并不令人满意,但是我想我会生存下来。
for exp in 256,lol 128,foo 32,bar
echo $exp | read -d , arg1 arg2
./bla --many-flags --name $arg2 --flag $arg1
end
string split