首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为新用户创建bash别名并生成脚本

为新用户创建bash别名并生成脚本
EN

Stack Overflow用户
提问于 2014-05-29 18:33:35
回答 1查看 1.1K关注 0票数 1

我想创建一个bash别名,它执行以下操作:

  • 给另一个用户的su
  • 指向某个目录的cd
  • source另一个脚本(特别是python virtualenv激活脚本)

在运行别名之后,我希望以用户身份登录,在目录中激活虚拟服务器。除了su之外,我可以让一切都正常工作,它似乎生活在自己的平行宇宙中。

我找不到让cdsourcesu环境中运行和坚持的方法,让我能够在su环境中继续工作。(例如,su -c只是运行操作,让我从我开始的地方开始。)

更新:

为了澄清一点,我想要这样的东西:

代码语言:javascript
复制
sudo -u www-data bash -c 'cd /var/www; pwd; whoami'

但是,我想在交互式子subshell中保留到^D退出为止。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 18:55:55

如果你不关心你的~/.bashrc,你可以直接用你的文件来代替它:

代码语言:javascript
复制
su -c 'bash --rcfile myfile' 

如果您确实关心并且您的文件只导出变量(即不定义别名或完成):

代码语言:javascript
复制
su -c 'source myfile; bash'

如果确实需要~/.bashrc,并且需要定义别名和完成,则可以使用以下两种方法进行源:

代码语言:javascript
复制
su -s /bin/bash -c 'bash --rcfile <(echo "source ~/.bashrc; source myfile")'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23940481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档