在bash脚本中迭代变量名
发布时间:2020-12-15 22:01:34 所属栏目:安全 来源:网络整理
导读:我需要在一堆文件上运行一个脚本,这些路径分配给train1,train2,…,train20,我想’为什么不用bash脚本自动生成?’. 所以我做了类似的事情: train1=path/to/first/filetrain2=path/to/second/file...train20=path/to/third/filefor i in {1..20}do python so
我需要在一堆文件上运行一个脚本,这些路径分配给train1,train2,…,train20,我想’为什么不用bash脚本自动生成?’.
所以我做了类似的事情: train1=path/to/first/file train2=path/to/second/file ... train20=path/to/third/file for i in {1..20} do python something.py train$i done 这不起作用,因为火车$i回应了train1的名字,但不是它的价值. 所以我尝试了一些不成功的事情,比如$(train $i)或${train $i}或${!train $i}. 解决方法
你可以使用数组:
train[1]=path/to/first/file train[2]=path/to/second/file ... train[20]=path/to/third/file for i in {1..20} do python something.py ${train[$i]} done 或eval,但它的方式很糟糕: train1=path/to/first/file train2=path/to/second/file ... train20=path/to/third/file for i in {1..20} do eval "python something.py $train$i" done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |