是否可以使用C#lang(dotnet核心运行时)定义Shell脚本?

时间:2018-08-31 09:52:52

标签: c# linux bash shell

例如定义打印“ hello”的脚本。

我可以使用nodejs(hello_node)完成以下操作

#!/bin/node
console.log(`hello ${process.argv[2]}`)

然后我将其命名为

./hello_node "world"

也在Python中

#!/bin/python3.7
print("hello world")

在PHP和ruby中也是如此,有没有办法在C#中做到这一点?

我尝试了以下方法,但没有用

#!/usr/local/share/dotnet/dotnet run
using System;

public static class Program {

  public static void Main(string[] args)
  {
    Console.WriteLine("Hello " + args[1]);
  }

}

1 个答案:

答案 0 :(得分:0)

shebang(import time import subprocess def check_process(proc,path): if proc.poll()!=1: print('%s still running' % proc) elif proc.poll()==1:#will give a 1 if the child process has been killed print('%s is dead. Re-running') subprocess.Popen(['python.exe', path]) script1=subprocess.Popen(['python.exe', pathscript1]) script2=subprocess.Popen(['python.exe', pathscript2]) while True: check_process(script1,pathscript1) check_process(script2,pathscript2) time.sleep(300) )告诉它使用特定命令打开文件。

#!命令只能用于运行项目,而不能用于单个文件。

您可以尝试使用dotnet-script工具,但是您需要设置目录,根据您要实现的目标,这可能是一个很大的缺点

https://github.com/filipw/dotnet-script