如何使用bash脚本输入命令行参数到dotnet c#程序?



我有一个简单的c#程序,它需要命令行输入(来自Console.ReadLine()))时跑。有很多输入我必须提供,所以我想知道我如何能自动化这个过程。我目前有一个shell脚本,试图做到这一点,但它不工作。

#!/bin/sh
dotnet run #run the program
1          #input first argument (this failed so I tried echo 1 instead but no luck)
# <- rest of command line inputs on each line

不太熟悉shell脚本,如果您有另一个解决方案,我不固定在这个解决方案上。我的操作系统是MacOS。

好的,那么我尝试的是:

  1. 我做了一个小的mcve-Console应用程序:(dotnet 6)
var input = Console.ReadLine();
while( !string.IsNullOrEmpty(input) )
{
Console.WriteLine("User input: {0}", input);
input = Console.ReadLine();
}
  1. 然后我做了一个小的input.txt
This is a Text.
This is another Text.
1
2
3
This is the final Text.
  1. 最后run.sh如下:
#!/bin/sh
dotnet run < "input.txt"

输出

用户输入:这是一个文本。用户输入:这是另一个文本。用户输入:1用户输入:2用户输入:3用户输入:这是最终文本。

/bin/sh在我的例子中链接到破折号shell。


如果在run.sh中替换"input.txt"使用"$1",然后您可以使用./run.sh whateveryourinputfileis.txt调用它,以使其更灵活。

相关内容

  • 没有找到相关文章