![bash -c“source ~/.profile”不提供 ~/.profile](https://linux22.com/image/1183840/bash%20-c%E2%80%9Csource%20~%2F.profile%E2%80%9D%E4%B8%8D%E6%8F%90%E4%BE%9B%20~%2F.profile.png)
这是 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"