zl程序教程

您现在的位置是:首页 >  前端

当前栏目

env printenv set declare export

set EXPORT ENV Declare
2023-09-11 14:16:16 时间

 

env and printenv is not shell builtin, so they can only print environment variables.

env:       run a program in a modified environment

  1. --ignore-environment -i -          start with an empty environment

     

  2. -0 -null     end each output line with NUL, not newline

     

     

  3. --unset -u      remove variable from the environment

     

     

  4. --chdir        change working directory

     

     

  5. --split-string -S          allow specifying multiple parameters in a script

     

     

     

  6. sh -c 'env --block-signal=PIPE seq inf'
    
    kill -s SIGPIPE `pgrep seq`  # can't stop seq

     

  7. sh -c 'env --ignore-signal=PIPE seq inf'
    
    kill -s SIGPIPE `pidof seq`  # can't stop seq

     

  8. to be continue

printenv:

  1. printenv

  2. printenv variable

     

     

declare:

  1. -p     display the attributes and value of each NAME

     

      

  2. -n       name reference

     

     

  3. -x        make NAME export

     

     

  4. -i        make NAME have the integer attribute
    0) value is interpreted as 0
    1) value is interpreted as integer
    2) Error

    In addition to modifying the value assignment behavior, variables now behave defferently in arithmetic expressions!

     

     

  5. In bash variables may have case attributes on assignment 

     

     

  6. -r       make NAME readonly
    +r option does not work; that is stripping a variabl of its readonly attribute is not allowed in bash

  7. -a         make NAME indexed array
    -A         make NAME associative array

     

     

     

  8. -g        create global variables when used in a shell function, When used in function "declare" makes NAME local, as with th "local" command, The -g option suppress this behavior

     

     

export:

 

 

  1.  -f

     

    Let export the function name
    ! there is only one way to disable export a function

     export -nf function

    there are two ways to export a function

    declare -fx function  # use -f -x simultaneously
    export -f function

     

     

  2. -n       Remove the export property from NAME