Maison > Opération et maintenance > exploitation et maintenance Linux > Quelques résumés des scripts Sh sous Linux

Quelques résumés des scripts Sh sous Linux

黄舟
Libérer: 2017-06-05 10:34:59
original
1737 Les gens l'ont consulté

À partir du projet open source .netCore, le déploiement d'eShopOnContainers est multiplateforme et peut être déployé sur linux, docker, et il peut également être exécuté sur Linux. petits scripts intégrés. Il s'agit du script SH que les ingénieurs de WeChat nous fournissent avec un plan de déploiement et de publication

#!/bin/bash
declare -a projectList=(    '../src/Services/Catalog/Catalog.API'
    '../src/Services/Basket/Basket.API'
    '../src/Services/Ordering/Ordering.API'
    '../src/Services/Identity/Identity.API'
    '../src/Web/WebMVC'
    '../src/Web/WebSPA'
    '../src/Web/WebStatus')

# Build SPA app
# pushd $(pwd)../src/Web/WebSPA
# npm run build:prodfor project in "${projectList[@]}"do
    echo -e "\e[33mWorking on $(pwd)/$project"
    echo -e "\e[33m\tRemoving old publish output"
    pushd $(pwd)/$project
    rm -rf obj/Docker/publish
    echo -e "\e[33m\tRestoring project"
    dotnet restore
    echo -e "\e[33m\tBuilding and publishing projects"
    dotnet publish -o obj/Docker/publish
    popd
done
# remove old docker images:
images=$(docker images --filter=reference="eshop/*" -q)if [ -n "$images" ]; then
    docker rm $(docker ps -a -q) -f
    echo "Deleting eShop images in local Docker repo"
    echo $images
    docker rmi $(docker images --filter=reference="eshop/*" -q) -f
fi
# No need to build the images, docker build or docker compose will
# do that using the images and containers defined in the docker-compose.yml file.
Copier après la connexion

La solution ci-dessus reflète principalement certaines commandes utilisées lors de la sortie, telles que array, parcours, instructions conditionnelles, supprimer fichiers, instructions de publication, etc. J'ai écrit et pratiqué par moi-même

declare -a arr=(12345)for i in "${arr[@]}"do if [ $i == 2 ]
then
   echo "a is equal to 2"else
   echo "a is not equal to 2"fi
done
declare -a projectList=(    '../src/Services/Catalog/Catalog.API'
    '../src/Services/Basket/Basket.API'
    '../src/Services/Ordering/Ordering.API'
    '../src/Services/Identity/Identity.API'
    '../src/Web/WebMVC'
    '../src/Web/WebSPA'
    '../src/Web/WebStatus')for project in "${projectList[@]}"do
    echo -e "\e[33m工作在目录 $(pwd)/$project"
    echo -e "\e[33m\tRemoving old publish output"done
Copier après la connexion

Tout le monde devrait faire attention au retour chariot entre Linux et Windows lors de l'écriture de fichiers SH . Les caractères sont différents, on peut télécharger l'outil notepad++ pour transcoder.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal