Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Einige Zusammenfassungen von Sh-Skripten unter Linux

Einige Zusammenfassungen von Sh-Skripten unter Linux

黄舟
黄舟Original
2017-06-05 10:34:591656Durchsuche

Die Bereitstellung des .netCore-Open-Source-Projekts eShopOnContainers erfolgt plattformübergreifend und kann unter Linux, Docker bereitgestellt und auch unter Linux Write ausgeführt werden Einige integrierte kleine Skripte. Dies ist das SH-Skript, das uns die WeChat-Ingenieure mit einem Bereitstellungs- und Veröffentlichungsplan zur Verfügung stellen.

#!/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.

Die obige Lösung spiegelt hauptsächlich einige Befehle wider, die während der Veröffentlichung verwendet werden, wie z. B. Array , Durchquerung, bedingte Anweisungen, Löschen Dateien, Release-Anweisungen usw. Ich habe es selbst geschrieben und geübt

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

Jeder sollte beim Schreiben von SH auf den Wagenrücklauf zwischen Linux und Windows achten Da die Zeichen unterschiedlich sind, können wir zum Transkodieren das Tool Notepad++ herunterladen.

Das obige ist der detaillierte Inhalt vonEinige Zusammenfassungen von Sh-Skripten unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn