如何在bash中访问名称中带有空格的环境变量?

如何在bash中访问名称中带有空格的环境变量?,第1张

如何在bash中访问名称中带有空格的环境变量

您可以使用以下

env
命令来模拟这种乐趣

env Clear Workspace=true bash

这将为您提供一个设置了环境变量的shell。

一种获取环境变量值的怪异方法是:

declare -p Clear Workspace | sed -e "s/^declare -x Clear Workspace="//;s/"$//"

除此之外,您还需要使用本机代码程序或脚本语言将其提取出来,例如

ruby -e "puts ENV['Clear Workspace']"

如果您没有红宝石,那么它的hacky要少得多。

perl -e 'print "$ENV{"Clear Workspace"}n";'

python -c 'import os; print os.environ["Clear Workspace"]'

这是本机代码版本:

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc, char **argv, char **envp) {  char **env;  char *target;  int len;  if (argc != 2)   {    printf("Syntax: %s namen", argv[0]);    return 2;  }  len = strlen(argv[1]);  target = calloc(len+2,sizeof(char));  strncpy(target,argv[1],len+2);  target[len++] = '=';  target[len] = '0';  for (env = envp; *env != 0; env++)   {    char *thisEnv = *env;    if (strncmp(thisEnv,target,len)==0)    {      printf("%sn",thisEnv+len);      return 0;    }  }  return 1;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5652019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存