Power-shell是Windows中类似于bash脚本的等效工具。

18 浏览
0 Comments

Power-shell是Windows中类似于bash脚本的等效工具。

我尝试在Windows 10上通过Power-Shell CLI执行以下简单命令。我应该如何做?

ID=test001 ./initializeID.sh

其中initializeID.sh的内容如下:

#!/bin/bash

echo "Initializing for ID: $ID"

DPPROG="{\"title\":\"Test \", \"Id\": \"$ID\"}"

curl -H "Content-type: application/json" -d "$DPPROG" http://localhost:8080/StorageApi/id

目前,如果我运行它,会显示以下错误:

ID=test001:ID=test001不被识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

在第1行第1个字符处:

+ ID=test001 ./initializeID.sh

+ ~~~~~~~~~~~~~~~

+ CategoryInfo : ObjectNotFound: (ID=test001:String) [],CommandNotFoundException

+ FullyQualifiedErrorId : CommandNotFoundException

0
0 Comments

PowerShell是一种在Windows操作系统上使用的脚本语言,类似于Linux中的Bash脚本。然而,在PowerShell中并没有直接的方法来实现Bash脚本中的某些操作,例如设置环境变量并运行命令。因此,用户需要找到解决方法来在PowerShell中实现类似于Bash脚本的功能。

为了解决这个问题,用户可以使用以下方法来设置环境变量并运行命令:

$env:VARIABLE = 'somevalue'; some-command-or-script

但是这种方法会在调用some-command-or-script的PowerShell会话中持久保存envvar。因此,用户需要在some-command-or-script退出后运行Remove-Item ENV:VARIABLE来删除环境变量,或者在上述代码行之前存储原始值,并在命令完成后恢复它。

即使在Linux中,运行./initializeID.sh也会遇到问题。需要使用bash才能运行该脚本,并且具有权限。但是,不知道如何传递ID=test001。是否有任何解决方法呢?

在文章中,用户遇到了在PowerShell中缺少类似于Bash脚本的功能的问题,并提供了一种解决方法。此外,用户还指出在Linux中运行Bash脚本时遇到的问题,并询问是否有解决方法。

0