GNU/Linux >> Belajar Linux >  >> Linux

Jalankan kode C# di terminal linux

Tentu saja bisa dilakukan dan prosesnya sangat sederhana.

Di sini saya menjelaskan langkah-langkah untuk Ubuntu Linux.

Buka terminal:

Ctrl + Alt + T

Ketik

gedit hello.cs

Di gedit jendela yang terbuka rekatkan kode contoh berikut:

using System;
class HelloWorld {
  static void Main() {
    Console.WriteLine("Hello World!");
  }
}

Simpan dan tutup gedit.

Kembali ke tipe terminal:

sudo apt update
sudo apt install mono-complete
mcs -out:hello.exe hello.cs
mono hello.exe

Keluaran:

Hello World!

CATATAN:Jawaban @adabru di bawah membuat solusi saya usang kecuali Anda menggunakan platform mono yang lebih lama.

Skrip C# dapat dijalankan dari baris perintah bash seperti skrip Python dan Perl, tetapi dibutuhkan sedikit sihir bash untuk membuatnya berfungsi. Seperti yang disebutkan Corey di atas, Anda harus menginstal Mono terlebih dahulu di mesin Anda. Kemudian, simpan kode berikut dalam skrip bash yang dapat dieksekusi di mesin Linux Anda:

if [ ! -f "$1" ]; then
dmcs_args=$1
shift
else
dmcs_args=""
fi
script=$1
shift
input_cs="$(mktemp)"
output_exe="$(mktemp)"
tail -n +2 $script > $input_cs
dmcs $dmcs_args $input_cs -out:${output_exe} && mono $output_exe [email protected]                                                                          
rm -f $input_cs $output_exe

Dengan asumsi Anda menyimpan skrip di atas sebagai /usr/bin/csexec, contoh "skrip" C# adalah sebagai berikut:

#!/usr/bin/csexec -r:System.Windows.Forms.dll -r:System.Drawing.dll                                                                   
using System;                                                                                                                                
using System.Drawing;                                                                                                                        
using System.Windows.Forms;                                                                                                                  
public class Program                                                                                                                         
{                                                                                                                                            
    public static void Main(string[] args)                                                                                                     
    {                                                                                                                                          
        Console.WriteLine("Hello Console");                                                                                                      
        Console.WriteLine("Arguments: " + string.Join(", ", args));                                                                              
        MessageBox.Show("Hello GUI");                                                                                                            
    }                                                                                                                                          
}                                                                                                                                            

Simpan kode di atas ke file seperti "hello.cs", buat itu dapat dieksekusi, ubah baris pertama untuk menunjuk ke skrip bash yang disimpan sebelumnya, dan kemudian jalankan, Anda akan melihat output berikut bersama dengan dialog yang mengatakan "Halo GUI":

bash-4.2$ ./hello.cs foo bar baz
Hello Console
Arguments: foo, bar, baz

Perhatikan bahwa GUI mengharuskan Anda menjalankan level 5. Berikut adalah skrip C# sederhana yang berjalan di konsol teks murni:

#!/usr/bin/csexec                                                                                                                     
using System;                                                                                                                                
public class Program                                                                                                                         
{                                                                                                                                            
    public static void Main(string[] args)                                                                                                     
    {                                                                                                                                          
        Console.WriteLine("Hello Console");                                                                                                      
        Console.WriteLine("Arguments: " + string.Join(", ", args));                                                                              
    }                                                                                                                                          
}                                                                                                                                            

Perhatikan bahwa argumen baris perintah diteruskan ke skrip C#, tetapi argumen shebang (dalam skrip C# pertama di atas "-r:System.Windows.Forms.dll -r:System.Drawing.dll") diteruskan ke C# penyusun. Dengan menggunakan fungsionalitas terakhir, Anda dapat menentukan argumen kompiler apa pun yang Anda perlukan pada baris pertama skrip C# Anda.

Jika Anda tertarik dengan detail cara kerja skrip bash, shebang (#!) menyatukan semua argumen yang diteruskan ke baris pertama skrip C#, diikuti dengan nama skrip, diikuti dengan argumen baris perintah yang diteruskan ke skrip diri. Pada contoh C# pertama di atas, 5 argumen berikut akan diteruskan ke skrip bash (digambarkan dengan tanda kutip):

"-r:System.Windows.Forms.dll -r:System.Drawing.dll" "hello.cs" "foo" "bar" "baz"

Skrip menentukan bahwa argumen pertama bukanlah nama file dan menganggapnya berisi argumen untuk kompiler C#. Itu kemudian menghapus baris pertama skrip C # menggunakan 'ekor' dan menyimpan hasilnya ke file sementara (karena kompiler C # tidak membaca dari stdin). Terakhir, keluaran kompiler disimpan ke file sementara lainnya dan dieksekusi dalam mono dengan argumen asli diteruskan ke skrip. Operator 'shift' digunakan untuk menghapus argumen penyusun dan nama skrip, hanya menyisakan argumen skrip.

Galat kompilasi akan dibuang ke baris perintah saat skrip C# dijalankan.


#! (hashbang) tag digunakan untuk memberi tahu shell juru bahasa mana yang akan digunakan sehingga skrip perl, php, bash, sh, dll. Anda akan berjalan dengan benar.

Tapi C# bukan bahasa scripting, itu dimaksudkan untuk dikompilasi menjadi format yang dapat dieksekusi. Anda perlu memasang setidaknya satu kompiler dan runtime jika Anda ingin menggunakan C#, dan sebaiknya IDE (Integrated Development Environment) untuk membantu Anda mengembangkan dan men-debug aplikasi Anda.

Instal Mono untuk compiler dan runtime, lalu MonoDevelop untuk IDE.


Linux
  1. Lakukan petualangan di terminal Linux Anda

  2. 5 penggunaan perintah mv di terminal linux

  3. Cowsay:Menyenangkan di terminal Linux

  1. Cara memperbesar dan memperkecil konsol terminal di linux

  2. di konsol linux, cara TIDAK membungkus keluaran

  3. Akankah executable Linux yang dikompilasi pada satu rasa Linux berjalan pada rasa yang berbeda?

  1. Jalankan mesin virtual Linux di Podman

  2. vlock – Cara Cerdas untuk Mengunci Konsol atau Terminal Virtual Pengguna di Linux

  3. Linux – Menjalankan Aplikasi Mac Os X Di Linux?