在shell脚本中传递列表

时间:2018-06-09 12:10:49

标签: python bash list shell

这是我第一次使用shell脚本。一次传递一个元素是有效的。但是我感到困惑,因为我有一个方法需要列表作为参数,目前,无论我尝试什么,它只需要列表的第一个元素。但我希望一次只能通过整个清单。

run.sh

#!/bin/bash
list = 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95;
qsub job.sh "label" $list 

job.sh

#!/bin/bash
python file.py $1 $2

file.py

import sys
import os
from myClass import myClass
label = sys.argv[1]
list = sys.argv[2]
myObject = myClass(label,list)

2 个答案:

答案 0 :(得分:3)

你需要在shell中用空格双引号,并在赋值(=)

周围删除空格
def __iter__(self):
    yield from self.input
    yield from self.other_information

list="0.1 0.2 24 45"
qsub job.sh "label" "$list"

答案 1 :(得分:0)

试试这个

job.sh

#!/bin/bash
python file.py $*

file.py

import sys
import os
from myClass import myClass
label, list = sys.argv[1], sys.argv[2:]
myObject = myClass(label, list)