Linux中我的shell脚本需要更改



以下是脚本:

#!/bin/bash
declare pspath=""
declare user=""
declare password=""
declare password=""
for i in "$@"; do
case $i in
--pspath=*)
pspath="${i#*=}"
shift
;;
--user=*)
user="${i#*=}"
shift
;;
--password=*)
password="${i#*=}"
shift
;;
esac
--ip=*)
ip="${i#*=}"
shift
;;
esac
done
command="$pspath -username $user -password $password -ip $ip 
$t="sudo pwsh -Command "$command""
echo $t

我正在运行的命令:

./test.sh --pspath=test.ps1 --user=test --password=test$123 --ip=0.0.0.0

输出:

sudo pwsh -Command test.ps1 -username test -password test23 -ip 0.0.0.0

预期输出:

sudo pwsh -Command test.ps1 -username 'test' -password 'test$123' -ip 0.0.0.0

有人能帮我吗?PS:命令无法更改,所以需要在shell脚本本身进行更改。提前感谢

您编写了

./test.sh --pspath=test.ps1 --user=test --password=test$123 --ip=0.0.0.0

你想要

./test.sh --pspath=test.ps1 --user=test --password='test$123' --ip=0.0.0.0

如前所述,您正在传递以下密码:

./test.sh --pspath=test.ps1 --user=test --password=test23 --ip=0.0.0.0

一旦完成,$1字符将永远丢失并且无法通过test.sh脚本重建。

相关内容

  • 没有找到相关文章

最新更新