How to export a variable in bash

后端 未结 4 1408
没有蜡笔的小新
没有蜡笔的小新 2020-12-11 02:56

I need to set a system environment variable from a bash script that would be available outside of the current scope. So you would normally export environment variables like

4条回答
  •  甜味超标
    2020-12-11 03:08

    This is the only way I know to do what you want:

    In foo.sh, you have:

    #!/bin/bash
    echo MYVAR=abc123
    

    And when you want to get the value of the variable, you have to do the following:

    $ eval "$(foo.sh)"  # assuming foo.sh is in your $PATH
    $ echo $MYVAR #==> abc123
    

    Depending on what you want to do, and how you want to do it, Douglas Leeder's suggestion about using source could be used, but it will source the whole file, functions and all. Using eval, only the stuff that gets echoed will be evaluated.

提交回复
热议问题