![选择 bash_profile 中 PATH 变量的一部分并将其插入到另一个文件中](https://linux22.com/image/1631084/%E9%80%89%E6%8B%A9%20bash_profile%20%E4%B8%AD%20PATH%20%E5%8F%98%E9%87%8F%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%E5%B9%B6%E5%B0%86%E5%85%B6%E6%8F%92%E5%85%A5%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B8%AD.png)
对于 Linux 来说相当陌生。我的用户 bash 配置文件中有一个路径变量,我们想在服务器上的一些脚本中利用它。
我要更改的脚本部分如下
if [[ ${PATH} =~ .*scripts/new.* ]]; then
export BASE_PATH=/data/scripts/new:/data/scripts:/usr/lib64/qt-3.3/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/mssql-tools/bin:/home/${USER}/bin
else
export BASE_PATH=/data/scripts:/usr/lib64/qt-3.3/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/mssql-tools/bin:/home/${USER}/bin
我打算删除该/home/${USER}/bin
部分,而是从用户的 .bash_profile 中选择部分 PATH 变量并将其附加到
在 bash_profile 中,PATH 变量的一个示例是
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/bin/scaffold.d
我想像这样选择第一个冒号后的所有内容
$HOME/.local/bin:$HOME/bin:$HOME/bin/scaffold.d
然后让它能够将其拉入脚本,类似于
if [[ ${PATH} =~ .*scripts/new.* ]]; then
export BASE_PATH=/data/scripts/new:/data/scripts:/usr/lib64/qt-3.3/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/mssql-tools/bin:$HOME/.local/bin:$HOME/bin:$HOME/bin/scaffold.d
else
export BASE_PATH=/data/scripts:/usr/lib64/qt-3.3/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/mssql-tools/bin:$HOME/.local/bin:$HOME/bin:$HOME/bin/scaffold.d
我相信使用 grep 在这里会起作用,但我不太确定如何实现它。