运行"docker stop $(docker ps -a -q)"时"Illegal variable name"错误



我正在尝试使用Python的paramiko包通过ssh发出命令docker stop $(docker ps -a -q)

stdin,stdout,stderr = ssh_client.exec_command('docker stop $(docker ps -a -q)');
print stderr.readlines()

我收到一个错误Illegal variable name.我尝试输入双引号 ("(,转义 $、(、( ...但是没有想法了

听起来你正在使用csh作为ssh服务器上的登录shell。Csh 不支持$(...)所以请尝试

ssh_client.exec_command('docker stop `docker ps -a -q` ');

Csh 示例:

# echo $(echo foo)
Illegal variable name.
#

最新更新