![通过管道传输到 sudo bash 时传递变量](https://linux22.com/image/1471197/%E9%80%9A%E8%BF%87%E7%AE%A1%E9%81%93%E4%BC%A0%E8%BE%93%E5%88%B0%20sudo%20bash%20%E6%97%B6%E4%BC%A0%E9%80%92%E5%8F%98%E9%87%8F.png)
我尝试编写一个简单的命令来在我的私人 Bitbucket 中运行一个脚本。该脚本需要以 root 身份运行,然后它会从 repo 下载更多文件,所以我需要 bitbucket 帐户的密码。
我如何传递$bbpass
给runme.sh
?
read -s -p "Password:" bbpass && curl --user myuser:$bbpass https://bitbucket.org/myuser/misc/raw/tip/runme.sh | sudo bash && unset bbpass
运行我.sh:
#!/usr/bin/env bash
echo "Hello world!"
echo $bbpass
答案1
您使用变量$1
而不是$bbpass
。
表示$1
第一个参数。因此,如果您传入两个参数,则可以分别使用$1
和访问它们$2
。