English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Shell 教程

Shell ist ein in C geschriebenes Programm, das die Brücke für den Benutzer zur Nutzung von Linux ist. Shell ist sowohl ein Befehlslanguage als auch eine Programmiersprache.

Shell ist ein Programm, das eine Oberfläche bietet, über die der Benutzer auf die Dienste des Betriebssystemkerns zugreift.

Ken Thompsons sh ist die erste Unix-Shell, Windows Explorer ist ein typisches grafisches Benutzeroberflächen-Shell.

Shell-Skript

Shell-Skript (shell script) ist ein Skriptprogramm, das für die Shell geschrieben ist.

Industriell gesprochen, bezieht sich der Begriff "shell" in der Regel auf das shell-script, aber Leser sollten wissen, dass shell und shell-script zwei verschiedene Begriffe sind.

Aus Gründen der Gewohnheit und um es kurz zu halten, bezieht sich der Begriff "shell-programmierung" in diesem Artikel immer auf die shell-script-programmierung und nicht auf die Entwicklung der Shell selbst.

Shell-Umgebung

Shell-Programmierung ist wie die Programmierung in JavaScript oder php, es reicht aus, einen Texteditor zu haben, der Skripte schreiben kann, und einen Interpreter, der die Skripte ausführen kann.

Es gibt viele Arten von Shell in Linux, die häufigsten sind:

  • Bourne Shell (/usr/bin/sh oder/bin/sh)

  • Bourne Again Shell (/bin/bash)

  • C Shell (/usr/bin/csh)

  • K Shell (/usr/bin/ksh)

  • Shell für Root (/sbin/sh)

  • ……

Dieser教程behandelt Bash, das Bourne Again Shell, das aufgrund seiner Benutzerfreundlichkeit und Freiheit im täglichen Leben weit verbreitet ist. Bash ist auch die Standard-Shell der meisten Linux-Systeme.

Im Allgemeinen unterscheidet man in der Regel nicht zwischen Bourne Shell und Bourne Again Shell, daher #!/bin/sh, es kann auch geändert werden #!/bin/bash.

#! Erzählt dem System, dass das nachfolgende Pfadprogramm der Shell-Programm ist, das dieses Skriptdatei interpretiert.

Erster Shell-Skript

Öffnen Sie einen Texteditor (es kann vi verwendet werden)/Vim-Befehl, um eine Datei zu erstellen), erstellen Sie eine Datei test.sh mit der Erweiterung sh (sh bedeutet Shell), die Erweiterung beeinflusst nicht die Ausführung des Skripts, es reicht aus, den Namen zu verstehen. Wenn Sie Shell-Skripte in PHP schreiben, verwenden Sie die Erweiterung php.

输入一些代码,第一行通常是这样的:

实例

#!/bin/bash
echo "Hello World !"

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

echo 命令用于向窗口输出文本。

运行 Shell 脚本有两种方法:

1、作为可执行程序

将上面的代码保存为 test.sh,并 cd 到相应目录:

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

注意,一定要写成 ./test.sh,而不是 test.sh,运行其他二进制的程序也是如此,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统,就在当前目录找。

2、作为解释器参数

这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,例如:

/bin/sh test.sh
/bin/php test.php

以这种方式运行的脚本,不需要在第一行指定解释器信息,即使写了也没用。