作为shell脚本的一部分,sudo su无法正常工作。任何替代?

问题描述 投票:-1回答:3

以下3行是我的shell脚本的一部分,但它正在执行第一行并正确复制文件。按顺序执行此rpm文件,我需要提示root用户。因此,我写了第二步。但它没有执行,因此我无法安装rpm文件。

aws s3 cp s3://mybucket/oracle-instantclient12.2-basiclite.rpm / home / user1 / sudo su yum -y install /home/user1/oracle-instantclient12.2-basiclite.rpm

所以,任何替代解决方案(sudo su)或告诉我如何提示root用户按顺序安装提到的rpm文件。

谢谢

linux shell amazon-s3 amazon-emr
3个回答
0
投票

您可以尝试使用sudo -s

sudo yum -y install /home/user1/oracle-instantclient12.2-basiclite-12.2.0.1.0-1.x86_64.rpm

第一个选项将您切换到root用户,而第二个选项允许您以root身份运行命令。


0
投票

aws s3 cp s3://mybucket/oracle-instantclient12.2-basiclite.rpm / home / user1 / && sudo -i yum -y install /home/user1/oracle-instantclient12.2-basiclite.rpm


0
投票

你必须在两个命令之间添加&&(请参阅此answer)并使用sudo yum安装:

aws s3 cp s3://mybucket/oracle-instantclient12.2-basiclite.rpm /home/user1/ && sudo yum -y install /home/user1/oracle-instantclient12.2-basiclite.rpm

sudo rpm -i /home/user1/oracle-instantclient12.2-basiclite.rpm也应该工作。

没有其他方法可以从一个命令行运行两个命令...

你确定命令行的秒半甚至可以在远程主机上运行吗?因为我宁愿期望它以send-command为前缀(如果从本地shell而不是远程主机上运行它)。也没有指出您尝试运行命令的Linux发行版;添加相关的RPM存储库,然后从那里安装,可能是最可靠的方法。

© www.soinside.com 2019 - 2024. All rights reserved.