【问题标题】:Trying to create bash script to run a script and input some usernames and return a new line尝试创建 bash 脚本来运行脚本并输入一些用户名并返回一个新行
【发布时间】:2022-07-22 02:43:41
【问题描述】:

创建一个针对 wiki 页面运行的 bash 脚本以立即检查贡献。该脚本当前要求您逐个输入每个用户名,然后按 Enter 键,它会针对整个列表运行。

我想做这样的事情

#! /bin/bash

users="user1,user2,user3,user4,user5 etc"

echo $users \n | <script.py>

但我无法让它返回新行并自动运行,它目前只是进入用户但不会为我“按 Enter”,我知道懒惰但试图学习如何编写脚本,这似乎是一个不错的选择。

任何帮助将不胜感激,谢谢!

【问题讨论】:

  • echo 的默认行为已经发送换行符,除非您告诉它不要。问题是“按 Enter”对&lt;script.py&gt; 意味着什么。你能分享&lt;script.py&gt;,帮助我们帮助你吗?

标签: bash


【解决方案1】:

我创建了 bash 脚本

#!/bin/bash
StrArray=("user1" "user2" "user3")
for val in ${StrArray[@]}; do
  echo "$val"
done

和 Python 代码

#!/usr/local/bin/python3
import sys
data = sys.stdin.readlines()

print("--- PYTHON STRINGS ---")
print(data)

如果我运行./Script.sh | ./ReadStdin.py,那么data 的内容对我来说就是['user1\n', 'user2\n', 'user3\n']。也就是说,确实已经包含了换行符(正如@Erwin 所说)。我不确定这是否能回答你的问题,但这是我能做的最好的事情,没有关于&lt;script.py&gt; 的任何进一步细节。

【讨论】:

    猜你喜欢
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 2023-04-07
    • 2015-05-29
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多