如何为bash为ash执行“〜/ .bashrc”之类的文件?

拉玛娜·雷迪(Ramana Reddy)

我有一个默认外壳为的主板sh在“ / etc / profile”的末尾有:

exec /bin/ash

这会将shell更改为ash

如果要执行在其中定义了一些别名的文件怎么ash办?

我尝试使用:

exec /bin/ash -f /root/aliases.sh

但是,当我使用ssh登录到板时,退出说连接已关闭。

还有其他方法吗?

科斯

当您运行时,exec /bin/ash -f /root/aliases.sh ash它是非交互式运行的,并且在执行“ /root/aliases.sh”后立即退出;这就是SSH会话结束的原因。

因此,解决方案是交互式运行外壳程序。来自man 1 ash

如果环境变量ENV是在外壳程序的入口处设置的,或者是在登录外壳程序的.profile中设置的,则该外壳程序接下来将从ENV中命名的文件中读取命令。因此,用户应将仅在登录时执行的命令放置在.profile文件中,并将在ENV文件中为每个外壳执行的命令。

因此,只需ENV在“〜/ .profile”中进行设置:

export ENV=/root/aliases.sh

并以交互方式运行shell:

exec /bin/ash

但是请注意:

  1. exec /bin/ash在“〜/ .profile”末尾运行将用实例替换任何来源“〜/ .profile”的外壳程序(即任何登录外壳程序)ash
  2. 这是没有道理的。获取ash用户登录shell的正确方法是更改该用户的登录shell,这可以使用完成chsh

因此,我真的建议您exec /bin/ash从“〜/ .profile”中删除并改为使用该用户更改登录shell chsh

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从.bashrc文件运行.profile?

来自分类Dev

如何从.bashrc文件运行.profile?

来自分类Dev

如何正确修改〜/ .bashrc文件

来自分类Dev

如何为多个用户设置一个.bashrc文件?

来自分类Dev

Git Bash-多个Bashrc文件?

来自分类Dev

如何制作不带.bashrc的可执行脚本文件

来自分类Dev

如何从Java代码访问.bashrc文件

来自分类Dev

如何动态更新.bashrc文件中的别名?

来自分类Dev

每次“清除”时如何获取bashrc文件

来自分类Dev

如何设置用户的默认.bashrc文件?

来自分类Dev

如何动态更新.bashrc文件中的别名?

来自分类Dev

如何为路径上的所有可执行文件编写bash完成脚本?

来自分类Dev

将BASH数组传递给diff之类的文件内容

来自分类Dev

编辑bash.bashrc文件并恢复文件副本

来自分类Dev

如何使用R解析INI之类的配置文件?

来自分类Dev

如何触摸报告07/05/13之类的文件

来自分类Dev

如何删除“ Incoming11781rKD”之类的文件

来自分类Dev

如何处理“:”或“?”之类的字符 使无效的文件名?

来自分类Dev

如何仅获取json之类的文件中的两项

来自分类Dev

如何为不同的文件执行matlab代码?

来自分类Dev

如何将文本文件转换或分离为excel或csv之类的列格式记录

来自分类Dev

Linux:bashrc。如何从另一个文件加载bashrc内容?

来自分类Dev

将路径名设置为.bashrc文件中的别名

来自分类Dev

bash资源似乎没有加载我的.bashrc文件

来自分类Dev

弄乱了bash.bashrc文件,命令不再起作用

来自分类Dev

为什么“ ls * bash *”不显示.bashrc文件

来自分类Dev

bash如何执行ELF文件?

来自分类Dev

bash如何使文件可执行?

来自分类Dev

如何在Bash Shell中为每个文件使用查找并执行命令?

Related 相关文章

热门标签

归档