怎么用脚本获取环境变量值

wen 实用脚本 1

本文目录导读:

怎么用脚本获取环境变量值

  1. Shell 脚本 (Bash)
  2. Python 脚本
  3. Node.js 脚本
  4. Perl 脚本
  5. Windows PowerShell
  6. 实际使用示例

Shell 脚本 (Bash)

#!/bin/bash
# 获取单个环境变量
echo $PATH
echo $HOME
echo $USER
# 使用${}语法
echo ${MY_VAR:-默认值}  # 如果变量不存在则使用默认值
# 列出所有环境变量
env
# 或
printenv

Python 脚本

#!/usr/bin/env python3
import os
# 获取单个环境变量
path = os.environ.get('PATH')
home = os.environ.get('HOME')
print(f"PATH: {path}")
# 获取带默认值
my_var = os.environ.get('MY_VAR', '默认值')
# 获取所有环境变量
for key, value in os.environ.items():
    print(f"{key}={value}")

Node.js 脚本

#!/usr/bin/env node
// 获取单个环境变量
const path = process.env.PATH;
const home = process.env.HOME;
console.log(`HOME: ${home}`);
// 获取带默认值
const myVar = process.env.MY_VAR || '默认值';
// 获取所有环境变量
console.log(process.env);

Perl 脚本

#!/usr/bin/perl
# 获取单个环境变量
my $path = $ENV{PATH};
my $home = $ENV{HOME};
print "HOME: $home\n";
# 获取带默认值
my $my_var = $ENV{MY_VAR} // '默认值';
# 获取所有环境变量
foreach my $key (keys %ENV) {
    print "$key=$ENV{$key}\n";
}

Windows PowerShell

# 获取单个环境变量
$path = $env:PATH
$home = $env:HOME
# 获取带默认值
$myVar = if ($env:MY_VAR) { $env:MY_VAR } else { '默认值' }
# 获取所有环境变量
Get-ChildItem Env:
# 或
Get-Item Env:PATH

实际使用示例

检查重要变量是否存在

#!/bin/bash
required_vars=("DATABASE_URL" "API_KEY" "SECRET_TOKEN")
for var in "${required_vars[@]}"; do
    if [ -z "${!var}" ]; then
        echo "Error: $var is not set!"
        exit 1
    fi
done
echo "All required environment variables are set"

Python 带错误处理

import os
def get_env_var(var_name, required=True, default=None):
    value = os.environ.get(var_name, default)
    if required and value is None:
        raise ValueError(f"Required environment variable {var_name} is not set")
    return value
# 使用示例
database_url = get_env_var('DATABASE_URL')
debug_mode = get_env_var('DEBUG', required=False, default='False')

根据你的具体需求和使用的编程语言,选择最适合的方法即可。

抱歉,评论功能暂时关闭!