linux - 如何在Linux中使用一个命令的输出作为另一命令

标签 linux unix

我正在寻找的是,在 Linux 中使用一个命令的输出作为“EXACTLY THE OTHER COMMAND”?

例如:

[root@ip-10-0-0-136 ~]# echo hi
hi
[root@ip-10-0-0-136 ~]

现在这个“hi”我想用作立即命令并执行。 我怎样才能做到这一点 ?

所以,应该是这样的:

[root@ip-10-0-0-136 ~]# echo hi
hi
[root@ip-10-0-0-136 ~]# hi

这可能吗?

请提出建议

编辑1:

请引用具体示例:

[root@ip-10-0-0-136 ~]# aws ecr get-login --no-include-email --region eu-central-1
docker login -u AWS -p eyJwYXlsb2FkIjoibWJ3aVJhNmpwbFkzVjhnVFA1SlFnTXhDWHZoYUlKaVJKVGxIQjdheVVOMkk0NzM5NHFKelVYOXUxN21EMmVRMkx4dmJickNOWDY3bFNjL2hMSWE3c0dDT2cyOWxXb25NUVEzZW1sL2szajlUYTc0cHBFVmhWVU1vSUJVdGVMcWhKZ3k3NkpjWGVWR283dkU4amVCWGo0eDdVU3ZUMUc4WE5xRXBKSlRyQlh6c2M0TnZMME9iR2lHa1BqeFUrS2wrc052clUyY3pLVW56bTZEZFNRSHFlckZFU1ZnMEFkTWV4bHluMzQxUDhzWFNpdDBzYm1zZDlIYUFnSUM0Q3A2a1FZQVlZL3NUYXN3Zk9BZytIbVpxaGY2NFdzdEYxajBsNmlnR2NnMEkzYmJ0czl5c3REb0VENnBtK0FqZ2lLN1hpUlNPL01raEt5bnRTZ1lGSnB3cjJxb0RTZDdkUWE1QUtoaFhQdy9MU3kzMlZUVDRyRCsyTVU5TXRKY2FWMjBINFJKcnN3c08yUWFJaHE4VGsrZGZlcUxaSHowb1RNZmxlaDYxbDV0emN1bkNBOHdKeDIxcEliaXlQbFR4dWVrczdzbW9hamEraThxUjFlMi9XUHhUbGdKd2g1Y2FEd1RhbitJdDBtNDZ1ckZuWjMxOXpWelgyUm9vMG0ycm5rUk1iYkhmT2dRS2RPSUs0V0tzQm91eDRic2o2bHJVeGk4dGFOdEgyNmdPUG1oRUlHaVJRMlRqTThQbFlDRDZ6dEZHc3F3NnRRbmVwZUFHWUVTeG1xanV2WE5FUzBUUEVsYnFjSTFEcGNlVW9hU3JiY04wUVBqbjhOemc1VGgwTXZFQWhEWVpHaU9wTDA5RndxbEt5SXRrY0tQQklPSENSSi9qU3lSb29iOGJsK0c5VC8xWjB4ZnZxK3V4SWQwbU16ejFScXhmbHh3VE9uU3oxWVZmUkUxeENNeHpCOTJZRjlaMmZaOHB1SExMcGVKem4yN09SR1pIVWRXSkFaVEx2SmYyMC9PSHhWbXlKOGZ4Q3ByZ2czZlJRSDFnR3dkZDhRM3FQbGlBcVJYS0RhM0NOU0VuZ2phdjEwYUs4SDFxVW5tam1vYjh5ZDZMaytJbDNYTEJPSTF3UlhDS3FiUHUwMmM0MjVRYjhYQy9GUkxGdFJxZXhobFp4M0FpdHBzT3R2Y2hhQzZYdE5ZVnY4RUJMUlp1RFVqaGxrWlFVZkU1bnE5QTV4Skd0YWoyZWZWM3dLazcyRFUyckFxejlTQXVpMW1nbmsvUEFNTWdWdXNKTDJDeU0yUzdvMGxaYUZjUGN0M1ZEZTB3WDZvWVBoQ2dBb3BOTlRmVkhwSzkvdkVqUnlreGhLVlVFcUZKNjlwaHI5OHVlNlpjVndpT081ZlZ0Um5oTy93ZG9KSSt1aGRzci9MRUNSYXVTN1ErYWtleSt0d0VONmxKWGxKbnBBOGZ2SlB1ZHJwVHBQNTV4TStvZnN1M2tZUzFmVUh1Q2dJSDhQVmRZTmhjNzA4PSIsImRhdGFrZXkiOiJBUUVCQUhoM3pZT2R0cEJCU1Z3L1kyYW44QlhJRDRrd0xRZm5vVGo1endadEdKWm9aUUFBQUg0d2ZBWUpLb1pJaHZjTkFRY0dvRzh3YlFJQkFEQm9CZ2txaGtpRzl3MEJCd0V3SGdZSllJWklBV1VEQkFFdU1CRUVEQVZ3Znk3a0lxL0VjcTZHT0FJQkVJQTcxTnlNa0hBbERNRkw1Mk5uU2RjOENDVGcrWHhQMnVjMGl2OXRrQXNFNUoyZHNPV3AxSFVYblRyejR5dVAyT0pFWC8xZkxBc28xcDFFbCt3PSIsInZlcnNpb24iOiIyIiwidHlwZSI6IkRBVEFfS0VZIiwiZXhwaXJhdGlvbiI6MTU0Nzc2OTEzNX0= https://890543041640.dkr.ecr.eu-central-1.amazonaws.com
[root@ip-10-0-0-136 ~]# !$
eu-central-1
bash: eu-central-1: command not found
[root@ip-10-0-0-136 ~]# $
bash: $: command not found
[root@ip-10-0-0-136 ~]#

最佳答案

您可以使用$(aws ecr get-login --no-include-email --region eu-central-1) 这将执行括号中命令的输出。在您的情况下,命令 docker login -u AWS -p eyJwYX.. 将被执行

引用:https://superuser.com/questions/935374/difference-between-and-in-shell-script

关于linux - 如何在Linux中使用一个命令的输出作为另一命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54235023/

相关文章:

c - 使用 Stat 和 OpenDir()/ReadDir() 在 C 语言中列出当前目录和文件类型(Dir、Reg、Lnk)

linux - 生成 Linux 内核 .config 文件使源文件夹变得不干净

java - log4j2不登录子进程

python - 使用 Python 检查子进程是否在 Linux 中运行

Bash 脚本 "[!: not found "错误,以及如何编写 or 语句

shell - du -ahx 在文件夹中显示 15Gb 但文件中只有 32M

linux - 如何授予 Linux 用户权限?

java - 比较下载文件与 ftp 服务器上的远程文件的文件大小

c - 段错误(核心转储)

php - 管道 screen 到 PHP(或与此相关的任何函数)