我的问题类似于Wget 脚本并运行它但我想另外向脚本传递一些参数。可以这样做吗?
答案1
这应该有效
wget -qO - http://example.com/script.sh | bash -s param1 param2 ...
根据 man BASH(1)。
如果存在 -s 选项,或者选项处理后没有剩余参数,则从标准输入读取命令。此选项允许在调用交互式 shell 或通过管道读取输入时设置位置参数
你可以用测试文件尝试一下
$ cat script.sh
#!/usr/bin/env bash
echo "$@"
$ python3 -m http.server 1234
从另一个 shell
$ wget -qO - http://localhost:1234/script.sh | bash -s param1 param2 ...
param1 param2 param3 ...
确保随后停止本地 http 服务器。
编辑:根据@Gordon Davisson 的评论更新答案。