Ein Artikel vermittelt Ihnen einen umfassenden Überblick über die Shell-Sprache

Ein Artikel vermittelt Ihnen einen umfassenden Überblick über die Shell-Sprache

1. Präambel

JDK manuell installieren

# 第1步 切换到家目录
cd
# 第2步 下载jdk镜像源
wget -c https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz

# 第3步 新建/opt/java目录
mkdir /opt/java

# 第4步 解压jdk至/opt/java目录下
tar -xvf jdk-8u151-linux-x64.tar.gz -C /opt/java

# 第5步 设置软链接
ln -s /opt/java/jdk1.8.0_151/bin/java /usr/sbin/java

# 第6步 java命令是否可用
java -version

Es gibt ein Problem:

1. Seien Sie besonders vertraut mit der Installation von Software

2. Bei jeder Installation müssen Sie die Installationsideen herausfinden.

3. Jeder Installationsschritt erfordert die manuelle Eingabe von Befehlen, was zeitaufwändig und arbeitsintensiv ist.

4. Der Einsatz von n Einheiten ist zeitaufwändiger und ineffizienter ...

Problemlösung: Shell-Programmierung, Schreiben von Shell-Skripten

2. Shell-Einführung

2.1. Was ist eine Shell?

  • Shell ist eine Programmiersprache, eine interpretierte Programmiersprache ähnlich wie Python und PHP.

2.2. Was ist Shell-Programmierung?

Die geschriebene Codedatei wird in der Shell-Programmiersprachenumgebung ausgeführt, die der Codedatei ähnelt, die für die Ausführung in der Programmiersprachenumgebung Python und PHP geschrieben wurde. Da es sich bei der Shell um eine interpretierte Sprache handelt, wird sie auch als Schreiben eines Shell-Skripts (Shell-Skript) bezeichnet ). Der Dateiname. Häufig verwendete Suffixe.sh

2.3. Shell-Interpreter

Zu den gängigen Shell-Interpretern gehören die folgenden:

  • Bash (Bourne Again Shell): Bash ist der am häufigsten verwendete Shell-Interpreter und der Standard-Linux-Befehlszeileninterpreter. Es erbt die Funktionen von Bourne Shell und fügt viele Funktionen und Verbesserungen hinzu, einschließlich Befehlsverlauf, automatische Vervollständigung, Jobsteuerung usw.

  • sh (Bourne Shell): Bourne Shell ist einer der frühesten Shell-Interpreter in Unix-Systemen. Es stellt die Grundlage für andere Shells dar. Die Syntax ist relativ einfach und wird häufig zum Schreiben von Skripten verwendet.

  • csh (C Shell): C Shell verwendet die Syntax im C-Sprachstil und bietet einige Funktionen, die für Programmierer einfach zu verwenden sind, z. B. Befehlszeilenbearbeitung und Jobsteuerung. Auf einigen Unix-Systemen ist es der Standard-Shell-Interpreter.

  • ksh (Korn Shell: Korn Shell ist ein Shell-Interpreter, der aus Bourne Shell und C Shell entwickelt wurde. Es erbt die Eigenschaften beider und fügt einige neue Funktionen und Syntax hinzu, wie z. B. Befehlsverlauf, Befehlsaliase usw.

  • tcsh (Enhanced C Shell): tcsh ist eine erweiterte Version von C Shell, die mehr Funktionen und erweiterte Features wie die Befehlsvervollständigung bietet.

Überprüfen Sie den Interpreter, den das System verwendet

env

echo $SHELL

Überprüfen Sie den auf dem System installierten Interpreter

cat /etc/shells

chsh -l

Systeminterpreter wechseln

# 需要退出重登
chsh

# 需要退出重登
chsh -s /bin/sh

exec bash

Interaktive Shell und nicht interaktive Shell

Interaktiver Modus: Auf dem Terminal ausgeführt, wartet die Shell auf Ihre Eingabe und führt den von Ihnen übermittelten Befehl sofort aus. Dieser Modus wird als interaktiv bezeichnet, da die Shell mit dem Benutzer interagiert.

[root@centos ~]# pwd
/root

Nicht interaktiver Modus: Im Shell-Skriptmodus (nicht interaktiv) ausführen. In diesem Modus interagiert die Shell nicht mit Ihnen, sondern liest in Dateien gespeicherte Befehle und führt sie aus.

sh test.sh

3. Grundlegende Grammatik

3.1 Das erste Shell-Skript

# 打开test.sh文件
vim test.sh

# test.sh文件写入内容
echo "hello,world"

# sh解释器执行脚本
sh test.sh

# bash解释器执行脚本
bash test.sh

# 给test.sh加可执行权限
chmod +x test.sh

# 用系统默认解释器运行test.sh脚本
./test.sh

/root/test.sh

# 也可以给test.sh脚本指定shell解释器
[root@centos ~]# cat test.sh
#!/bin/sh
echo "hello,world"

# 推荐这种方式指定shell解释器
[root@centos ~]# cat test.sh 
#!/usr/bin/env sh
echo "hello,world"

Ich denke du magst

Origin blog.csdn.net/rulaixiong/article/details/134472197
Empfohlen
Rangfolge