我想在一行中运行以下命令:
$ curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
$ python ./awslogs-agent-setup.py --region eu-west-2
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我尝试了以下
$ curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -s | python --region eu-west-2
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
Unknown option: --
Run Code Online (Sandbox Code Playgroud)
您可以让python解释器从stdinusing /dev/stdin(类似于python -)中读取并同时传递附加参数。
curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -s |\
python /dev/stdin --region eu-west-2
Run Code Online (Sandbox Code Playgroud)
正如Barmar指出的那样,使用/dev/stdin可能是操作系统特定的,在这种情况下使用python -会更标准
curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -s |\
python - --region eu-west-2
Run Code Online (Sandbox Code Playgroud)
当curl将文件内容输出到 stdout 时,您可以将其通过管道传输到解释器的标准输入。
或者在bash( <()) 中使用进程替换功能,它可以让您将命令的输出视为要读取的文件
python <(curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -s) --region eu-west-2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |