Exécuter le code C # sur le terminal Linux
Comment puis-je exécuter un code C# sur un terminal linux comme un script shell.
J'ai cet exemple de code:
public string Check(string _IPaddress,string _Port, int _SmsID)
{
ClassGlobal._client = new TcpClient(_IPaddress, Convert.ToInt32(_Port));
ClassGlobal.SMSID = _SmsID;
string _result = SendToCAS(_IPaddress, _Port, _SmsID );
if (_result != "") return (_result);
string _acoknoledgement = GetFromCAS();
return _acoknoledgement;
}
Quand je lance un shell bash-je utiliser #!/bin/bash
. Il est comment faire la même chose avec C#?
source d'informationauteur Hedron Dantas
Vous devez vous connecter pour publier un commentaire.
La
#!
(hashbang) tag est utilisé pour indiquer au shell qui interprète à utiliser, de sorte que votre perl, php, bash, sh, etc. les scripts vont courir à droite.Mais le C# n'est pas un langage de script, il est destiné à être compilé dans un format exécutable. Vous devez installer au moins un compilateur et de l'exécution si vous voulez utiliser le C#, et, de préférence, un IDE (Environnement De Développement Intégré) pour vous aider à développer et déboguer vos applications.
Installer Mono pour le compilateur et de l'exécution, puis MonoDevelop pour l'IDE.
C# les scripts peuvent être exécutés à partir de la ligne de commande bash comme Python et Perl, mais il faut un petit peu de bash magie pour le faire fonctionner. Comme Corey mentionné ci-dessus, vous devez d'abord installer Mono sur votre machine. Ensuite, enregistrez le code suivant dans un fichier exécutable script bash sur votre machine Linux:
En supposant que vous avez enregistré le script ci-dessus dans le fichier /usr/bin/csexec, un exemple en C# "script" qui suit:
Enregistrer le code ci-dessus dans un fichier tel que "bonjour.cs, le rendre exécutable, modifier la première ligne du point précédemment enregistré script bash, puis de l'exécuter, vous devez voir la sortie suivante avec une boîte de dialogue disant "Bonjour GUI":
Noter que l'interface graphique nécessite d'être au niveau d'exécution 5. Ici est plus simple en C# script qui s'exécute à une pure console de texte:
Avis que les arguments de ligne de commande sont transmis à la C# script, mais le shebang arguments (dans le premier C# script ci-dessus "-r:System.Windows.Forms.dll -r:System.Drawing.dll") sont passés au compilateur C#. À l'aide de la fonctionnalité de ce dernier, vous pouvez spécifier n'importe quel compilateur arguments dont vous avez besoin sur la première ligne de votre C# script.
Si vous êtes intéressé par les détails de la façon dont le script bash fonctionne, shebang (#!) rassemble tous les arguments passés sur la première ligne de la C# script, suivie par le nom du script, suivi par les arguments de ligne de commande passés au script lui-même. Dans le premier C# exemple ci-dessus, les 5 suivantes, les arguments de la passer dans le script bash (délimitée par des guillemets):
Le script détermine que le premier argument n'est pas un nom de fichier et suppose qu'il contient des arguments pour le compilateur C#. Il retire ensuite la première ligne de la C# script à l'aide de la "queue" et enregistre le résultat dans un fichier temporaire (depuis le compilateur C# ne pas lire à partir de stdin). Enfin, la sortie du compilateur est enregistré à un autre fichier temporaire et exécuté en mono avec l'original arguments passés au script. Le 'shift' opérateur est utilisé pour éliminer les arguments du compilateur et le nom du script, laissant seulement derrière les arguments du script.
Des erreurs de Compilation sera exportée vers la ligne de commande lorsque le C# script est exécuté.
Bien sûr, il peut être fait et le processus est extrêmement simple.
Ici, je vais expliquer les étapes à suivre pour Ubuntu Linux.
Ouvrir un terminal:
Ctrl + Alt + T
Type
Dans le
gedit
fenêtre qui s'ouvre, collez l'exemple de code suivant:Enregistrez et fermez gedit.
De retour dans le terminal tapez:
De sortie:
Vous ne pouvez pas exécuter C# comme un script, vous devrez le compiler en premier. Pour cela, vous pouvez installer mono.
Vous pouvez compiler votre programme avec
mcs
et de l'exécuter avecmono
.