bash -c“source ~/.profile”不提供 ~/.profile

bash -c“source ~/.profile”不提供 ~/.profile

这是 Docker 容器(运行 Ubuntu 18.04)内部的一些输出,它似乎正在运行。

# source ~/.profile
net.ipv4.ipfrag_high_thresh = 134217728
net.core.rmem_default = 10485760
sourcing /opt/ros/foxy/install/setup.bash
ROS_ROOT   /opt/ros/foxy
ROS_DISTRO foxy
# bash -c "source ~/.profile"
# /bin/bash -c "source /root/.profile"
# 

第一个命令的输出是我期望以下命令的输出。感觉我在这里忽略了一些明显的东西。对于上下文,我需要/bin/bash -c "source /root/.profile"工作,因为我不想为了运行命令而必须进入 Docker 容器,我想在.bashrc运行命令之前先运行这些东西。我哪里做错了?

答案1

在 .bashrc 中:

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

以下命令可以正常工作:

/bin/bash -ic "source ~/.bashrc"

相关内容