如何使用 bash 脚本将命令行参数输入到 dotnet c# 程序?
How to input command line arguments to a dotnet c# program using bash scripts?
我有一个简单的 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 脚本,如果您有其他解决方案,我不会固定在这个解决方案上。我的 OS 是 MacOS.
好的,所以我尝试的是:
- 我做了一点mcve-Console应用程序:(dotnet 6)
var input = Console.ReadLine();
while( !string.IsNullOrEmpty(input) )
{
Console.WriteLine("User input: {0}", input);
input = Console.ReadLine();
}
- 然后我做了一点
input.txt
This is a Text.
This is another Text.
1
2
3
This is the final Text.
- 最后
run.sh
如下:
#!/bin/sh
dotnet run < "input.txt"
输出为
User input: This is a Text.
User input: This is another Text.
User input: 1
User input: 2
User input: 3
User input: This is the final Text.
/bin/sh 在我的例子中链接到破折号 shell。
如果在run.sh
中你将“input.txt”替换为“$1”,那么你可以用./run.sh whateveryourinputfileis.txt
来调用它以使其更加灵活。
我有一个简单的 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 脚本,如果您有其他解决方案,我不会固定在这个解决方案上。我的 OS 是 MacOS.
好的,所以我尝试的是:
- 我做了一点mcve-Console应用程序:(dotnet 6)
var input = Console.ReadLine();
while( !string.IsNullOrEmpty(input) )
{
Console.WriteLine("User input: {0}", input);
input = Console.ReadLine();
}
- 然后我做了一点
input.txt
This is a Text.
This is another Text.
1
2
3
This is the final Text.
- 最后
run.sh
如下:
#!/bin/sh
dotnet run < "input.txt"
输出为
User input: This is a Text. User input: This is another Text. User input: 1 User input: 2 User input: 3 User input: This is the final Text.
/bin/sh 在我的例子中链接到破折号 shell。
如果在run.sh
中你将“input.txt”替换为“$1”,那么你可以用./run.sh whateveryourinputfileis.txt
来调用它以使其更加灵活。