首页 >

PowerShell和Bash的定义与使用

运维|linux运维PowerShell和Bash的定义与使用
PowerShell,Bash,介绍
运维-linux运维
PowerShell是运行在windows平台的脚本,而Bash是运行在linux平台的脚本
新闻系统后台源码php,ubuntu系统批量注释,tomcat接口不规律阻塞,爬虫修改 url,php创建匿名函数,濮阳seo推广哪家公司做的好lzw
现在bash能做的事情,PowerShell也能做,PowerShell的强大之处是它可以管理windows服务器(特别是域domain),现在的开源PowerShell 也可以管理Linux和Mac(通过PSRP)。
网站导航html源码,ubuntu安装时清理,网站爬虫抓取图片,青岛 php,蚂蚁雄兵seolzw
下载最新的PS程序
html特效3d烟花源码,vscode标题栏颜色,ubuntu镜像屏幕,tomcat日志不新增,草地爬虫鸟,php b2b系统,seo专业网站在线咨询,个人企业招聘网站源码,企业试卷模板lzw
安装后它会有powershell和它的开发IDE工具,ISE,非常不错!

A、进行powershell的程序

PowerShell和Bash的定义与使用

B、创建脚本,简单的Helloworld.ps1

任务的自动化是以程序文件或者可执行脚本文件为基础的,PowerShell也支持将命令列表做成脚本文件来执行。以下是Helloworld.ps1脚本文件的内容:

$a = "Hello World!"$aecho $a > a.txtdir a.txt
Helloworld.ps1脚本文件的执行情况结果如下:

PS E:\>.\Helloworld.ps1 --注意在执行它时要加.\,表示当前上当下的文章,类似于centos里的文件执行方法
Hello world!
Directory: E:\
ModeLastWriteTime Length Name
----------------- ------ ---- -a--- 5/30/2017 4:56 PM 16 a.txt

下面是在eShopOnContainers上的一个例子,分别用ps和bash实现了程序的部署

#!/bin/bashdeclare -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[@]}"doecho -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    popddone# 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) -ffi# 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.
powershell代码如下

Param([string] $rootPath)$scriptPath = Split-Path $script:MyInvocation.MyCommand.PathWrite-Host "Current script directory is $scriptPath" -ForegroundColor Yellowif ([string]::IsNullOrEmpty($rootPath)) {    $rootPath = "$scriptPath\.."}Write-Host "Root path used is $rootPath" -ForegroundColor Yellow$projectPaths =     @{Path="$rootPath\src\Web\WebMVC";Prj="WebMVC.csproj"},    @{Path="$rootPath\src\Web\WebSPA";Prj="WebSPA.csproj"},    @{Path="$rootPath\src\Services\Identity\Identity.API";Prj="Identity.API.csproj"},    @{Path="$rootPath\src\Services\Catalog\Catalog.API";Prj="Catalog.API.csproj"},    @{Path="$rootPath\src\Services\Ordering\Ordering.API";Prj="Ordering.API.csproj"},    @{Path="$rootPath\src\Services\Basket\Basket.API";Prj="Basket.API.csproj"}    @{Path="$rootPath\src\Web\WebStatus";Prj="WebStatus.csproj"}$projectPaths | foreach {    $projectPath = $_.Path    $projectFile = $_.Prj    $outPath = $_.Path + "\obj\Docker\publish"$projectPathAndFile = "$projectPath\$projectFile"Write-Host "Deleting old publish files in $outPath" -ForegroundColor Yellow    remove-item -path $outPath -Force -Recurse -ErrorAction SilentlyContinue    Write-Host "Publishing $projectPathAndFile to $outPath" -ForegroundColor Yellow    dotnet restore $projectPathAndFile    dotnet build $projectPathAndFile    dotnet publish $projectPathAndFile -o $outPath}######################################################################################### Delete old eShop Docker images########################################################################################$imagesToDelete = docker images --filter=reference="eshop/*" -qIf (-Not $imagesToDelete) {Write-Host "Not deleting eShop images as there are no eShop images in the current local Docker repo."} Else {    # Delete all containers    Write-Host "Deleting all containers in local Docker Host"docker rm $(docker ps -a -q) -f        # Delete all eshop images    Write-Host "Deleting eShop images in local Docker repo"Write-Host $imagesToDelete    docker rmi $(docker images --filter=reference="eshop/*" -q) -f}# WE DON'T NEED DOCKER BUILD AS WE CAN RUN "DOCKER-COMPOSE BUILD" OR "DOCKER-COMPOSE UP" AND IT WILL BUILD ALL THE IMAGES IN THE .YML FOR US
自己感觉,这两个东西在以后的程序部署上都会发挥各自强大的力量!


PowerShell和Bash的定义与使用
  • 电脑F9健代表什么? - 网络|
  • 电脑F9健代表什么? - 网络| | 电脑F9健代表什么? - 网络| ...

    PowerShell和Bash的定义与使用
  • 为什么Windows不内置Perl,Python等编程语言环境?
  • 为什么Windows不内置Perl,Python等编程语言环境? | 为什么Windows不内置Perl,Python等编程语言环境? ...

    PowerShell和Bash的定义与使用
  • PowerShell导入SQLServer的PS模块
  • PowerShell导入SQLServer的PS模块 | PowerShell导入SQLServer的PS模块 ...