我正在编写一个shell脚本,其中在一个条件中,脚本将像su - xxx那样更改用户,然后它必须执行一些命令/脚本,并且应该保持登录到该用户/会话以进行用户交互。一旦用户输入退出,它应该退出该会话并返回到脚本。在shell脚本中使用su
我曾尝试使用su - xxx -c“命令”,但它会在执行命令后终止会话。我想在命令执行后保持该会话,用户应该手动退出(键入exit)以关闭该会话并返回到脚本。
任何暗示将做..
在此先感谢....对你的建议..
我正在编写一个shell脚本,其中在一个条件中,脚本将像su - xxx那样更改用户,然后它必须执行一些命令/脚本,并且应该保持登录到该用户/会话以进行用户交互。一旦用户输入退出,它应该退出该会话并返回到脚本。在shell脚本中使用su
我曾尝试使用su - xxx -c“命令”,但它会在执行命令后终止会话。我想在命令执行后保持该会话,用户应该手动退出(键入exit)以关闭该会话并返回到脚本。
任何暗示将做..
在此先感谢....对你的建议..
什么是“应该留登录到用户交互的用户/会话”是什么意思?你想给用户一个正常的shell提示符,以便他们可以输入命令吗?
要做到这一点,您需要单独启动一个shell。尝试:
#!/bin/bash
echo Doing stuff...
echo Starting shell. Type "exit" when done.
sudo su - -c bash
echo Thanks for playing!
这将启动一个子shell用户。如果子shell终止(通常在用户键入exit/Ctrl-D时),脚本将继续。
非常感谢你的回答。 – srikant 2010-08-18 05:49:19
我想导出一些ailas到新的会话,有没有办法做到这一点,我已经尝试别名-x但不工作。 – srikant 2010-08-18 08:54:45