Maison >Opération et maintenance >exploitation et maintenance Linux >Qu'est-ce qu'un script shell exactement ? Comment utiliser ?
Peut-être que beaucoup de gens ont entendu les noms shell ou bash, mais je me demande si vous savez ce que c'est ?
Revenons aux connaissances de base en informatique : tous les ordinateurs sont composés de matériel et de logiciels. Le matériel est la partie que tout le monde peut toucher et voir, comme : le clavier, l'écran, le processeur, le corps de la mémoire, le disque dur, etc. Sans matériel, ce qu’on appelle l’ordinateur n’existerait pas, car les entrées, sorties et calculs de l’ensemble du système sont indissociables du matériel. Puis-je demander : comment utiliser un ordinateur sans clavier ni écran ? Cependant, la saisie que vous effectuez via le clavier et la sortie que vous voyez à l'écran sont réellement rendues possibles par le logiciel. Le logiciel directement responsable de la communication avec ce matériel est ce qu'on appelle le noyau. Le noyau doit être capable de prendre en charge la saisie au clavier, puis de la transmettre au processeur pour le traitement et enfin d'afficher les résultats de l'exécution à l'écran. Bien entendu, à l'exception du clavier et de l'écran, tout le matériel doit être pris en charge par le noyau avant de pouvoir être utilisé.
Alors, comment le noyau sait-il ce que nous saisissons sur le clavier ? C'est de cela que le shell que nous présentons ici est responsable. Parce que les données traitées par l’ordinateur lui-même sont du code machine binaire, très différent du langage que nous, les humains, sommes habitués à utiliser. Par exemple, si nous entrons la commande pwd, nous savons que cela signifie imprimer le répertoire de travail (une voix humaine très simple), mais en tant que noyau, il ne sait pas ce qu'est pwd. Le noyau ne regarde que le code machine. le temps, le shell Cela nous aidera à traduire pwd en code que le noyau peut comprendre. Par conséquent, lorsque nous utilisons des ordinateurs, nous traitons essentiellement avec le shell, plutôt que de communiquer directement avec le noyau, et encore moins de contrôler directement le matériel.
Script de sauvegarde de sites Web et de bases de données développés à l'aide du programme batch bat sous Windows
@echo off set date=%date:~0,4%-%date: ~5,2%-%date:~8,2% mysqldump -uroot -ppassword -A -B > D:\back\"%date%".sql rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql del D:\bak\*.sql rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\PHPnow\htdocs
Effacer le script de commande du fichier journal système /var/log/message
# 使用root身份运行这个脚本 # 清除日志版本,版本:v1 cd /var/log cat /dev/null > messages echo "Logs cleaned up."
Problèmes :
1. Il ne peut pas être exécuté sans les autorisations d'exécution root
2. Il n'y a aucun contrôle de processus pour déterminer si le fichier existe
LOG_DIR=/var/log # $UID为0的时候,用户才具有root用户的权限 ROOT_UID=0 # 使用root用户来运行 if [ "$UID" -ne "$ROOT_UID" ] then echo "Must be root to run this script." exit 1 fi cd $LOG_dir || { echo "Can't change to necesary directory." >&2 exit 1 } cat /dev/null > messages echo "Logs cleaned up." exit 0 # 推出之前返回0表示成功,返回1表示失败
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!