Ich habe überhaupt keine C-Sprache verwendet, deshalb wollte ich sie zum ersten Mal seit einiger Zeit wieder verwenden. Also werde ich versuchen, meinen eigenen Befehl zu erstellen, der sich einfach summiert, auch als Überprüfung von Linux.
Die Spezifikation des Befehls besteht darin, den Gesamtwert der numerischen Werte nach dem zweiten Argument der Befehlszeile auszugeben.
・ Wenn Sie einen einfachen Befehl erstellen, können Sie sich vorstellen, wie der Befehl aussieht. -Verstehen Sie das Konzept von PATH, auf das sich Linux bei der Ausführung von Befehlen bezieht. Aus den oben genannten Gründen wird eine detaillierte Erläuterung der Implementierung weggelassen.
・ Amazon Linux AMI Release 2018.03
Danach wird in diesem Verzeichnis gearbeitet.
Befehl zum Erstellen eines Verzeichnisses
$ mkdir test; cd test
Ich verwende hier vi, aber jeder Texteditor kann verwendet werden.
Befehl zum Erstellen von Dateien
$ vi test_sum.c
Kopieren Sie den folgenden Quellcode.
test_sum.c
#include <stdio.h>
int main(int argc, char *argv[])
{
int sum = 0;
int count = 0;
if (argc < 3) {
printf("ERROR: invalid of arguments number\n");
return 1;
}
/* argv[0]Ist der Befehl selbst, so wird er vom Berechnungsziel ausgeschlossen, also zählen=Beginnen Sie mit 1*/
for (count=1; count<argc; count++) {
sum += atoi(argv[count]);
}
printf("%d\n", sum);
return 0;
}
Außerdem konvertiert atoi von der höchstwertigen Ziffer und stoppt die Konvertierung, wenn ein anderes Zeichen als eine Zahl erkannt wird. Beispiel) "a": Gibt 0 zurück, da nichts konvertiert werden kann. "1a3": Die höchstwertige 1 wird konvertiert, aber die Konvertierung wird gestoppt, da a erkannt wird und 1 zurückgegeben wird.
Kompilieren Sie den Quellcode (test_sum.c) mit gcc
Kompilierungsbefehl
$ gcc -o test_sum test_sum.c
Die Operation ist einfach, aber dies vervollständigt den Befehl test_sum!
Versuchen Sie es mit Ihrer eigenen test_sum. Probieren Sie unten einige Muster aus.
test_Berechnung mit Summe
$ ./test_sum 123
ERROR: invalid of arguments number
$ ./test_sum 123 23456
23579
$ ./test_sum 123 23456 812
24391
Großer Erfolg! !!
Wenn dies unverändert bleibt, muss der Pfad ("./") jedes Mal angegeben werden. Stellen Sie ihn daher so ein, dass er ohne Angabe des Pfads wie bei anderen Befehlen funktioniert.
Eine Umgebungsvariable, die den Pfad zum Suchen nach einer Datei zusammenfasst, wenn Linux eine ausführbare Datei (ELF) ausführt. Linux durchsucht die im PATH festgelegten Pfade der Reihe nach und führt die erste gefundene ausführbare Datei aus.
Verwenden Sie den Export, um Umgebungsvariablen wie PATH festzulegen. Registrieren Sie den Pfad des aktuellen Verzeichnisses (aktuelles Verzeichnis) im PATH mit dem folgenden Befehl.
Setzen Sie den Pfad des aktuellen Verzeichnisses auf PATH
$ export PATH=$PATH:$(pwd)
Jetzt müssen Sie den Pfad in keinem Verzeichnis angeben! Beachten Sie, dass diese Einstellung verschwindet, wenn Sie die Shell löschen! !! </ strong>
Verschieben Sie das Verzeichnis entsprechend und überprüfen Sie den Vorgang.
Funktionsprüfung
$ test_sum 1 2 3
6
$ cd ~
$ test_sum 1 2 3
6
$ cd /tmp
$ test_sum 1 2 3
6
Großer Erfolg! !! Jetzt können Sie den Befehl test_sum wie jeden anderen Linux-Befehl verwenden.
Verwenden Sie diese Option, um den Pfad von Befehlen wie ls und find zu überprüfen. Natürlich können Sie auch den Speicherort der erstellten Testsumme mit dem Befehl which überprüfen.
Überprüfen Sie den Befehlspfad
$ which ls
alias ls='ls --color=auto'
/bin/ls
$ which find
/bin/find
$ which test_sum
~/environment/test/test_sum
・ Ändern Sie Titel und Inhalt leicht ・ Ergänzung zu PATH
Recommended Posts