subprocess.check_output("echo "{}" | psql -h {} -p".format(add_cmd_str, pgsql_vip), shell=True)改成shell语言
时间: 2024-02-17 11:03:25 浏览: 137
将该行代码改为如下的 shell 脚本语言:
```
#!/bin/bash
echo "$1" | psql -h "$2" -p
```
注意,这是一个脚本文件,需要使用 `chmod +x 文件名.sh` 命令添加可执行权限。然后,可以通过以下方式执行脚本文件:
```
./文件名.sh "add_cmd_str的值" "pgsql_vip的值"
```
其中,`add_cmd_str的值` 和 `pgsql_vip的值` 分别为 Python 代码中 `add_cmd_str` 和 `pgsql_vip` 的值。
相关问题
subprocess.check_output("echo \"{}\" | psql -h {} -p".format(add_cmd_str, pgsql_vip), shell=True)改成shell写法
将该行代码改为如下写法:
```
import subprocess
subprocess.run('echo "{}" | psql -h {} -p'.format(add_cmd_str, pgsql_vip), shell=True)
```
注意,在使用 `subprocess` 模块时,应该尽量避免使用 `shell=True`,以防止潜在的安全风险。如果可以避免使用 `shell=True`,则应该优先考虑使用。
subprocess.check_output() 报错 subprocess.CalledProcessError: Command returned non-zero exit status 1
根据提供的引用内容,subprocess.check_output() 报错 subprocess.CalledProcessError: Command returned non-zero exit status 1 是因为执行的命令返回了非零的退出状态码。这通常表示命令执行失败或出现错误。在引用中,命令 'git tag' 返回了非零的退出状态码 128,而在引用中,命令 ['D:\\Program Files\\Nox\\Nox\\bin\\adb.exe', '-s', '3c610dcc', 'shell', 'input', 'tap', '100', '100'] 返回了非零的退出状态码 4294967177。
解决此问题的方法是检查命令是否正确,以及命令执行时是否需要特定的环境或参数。还可以使用 try-except 语句来捕获异常并处理错误。
阅读全文