Power-shell是Windows中类似于bash脚本的等效工具。
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
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脚本时遇到的问题,并询问是否有解决方法。