Bash脚本循环在python变量上

时间:2019-02-27 08:41:46

标签: python bash loops

我正在尝试做一个简单的脚本,但是我不知道如何将变量传递给所需的命令:

#!/bin/bash 
for i in 1 2 3
do
python -c 'print "a"*' $i
done

3 个答案:

答案 0 :(得分:1)

如果您确实想使用python -c继续解决方案,则必须删除空格:

#!/bin/bash 
for i in 1 2 3
do
  python -c 'print "a"*'$i
done

但是Asmox建议的方法对我来说更有意义(与将标准输出传递到何处无关)。

答案 1 :(得分:0)

也许该主题会有所帮助: How do I run Python script using arguments in windows command line

您是否考虑过编写整个脚本?像这样一个:

import sys

def f(a):
    print a

if __name__ == "__main__":
    a = int(sys.argv[1])
    f(a)

此示例似乎过于复杂,但我想向您展示如何将参数从控制台传递给函数

答案 2 :(得分:0)

我已经尝试了上面提供的解决方案,并且不得不针对python3 +进行修改

由于缺乏足够的观点,我无法发表评论,这就是为什么我单独发布解决方案的原因

#!/bin/bash
for i in {1..3}
do
  python -c "print ('a'* ${i})"
done

output~>
a
aa
aaa