在.environment文件中定义一个变量,并在.sh文件中使用(引用)

比拉尔·尤萨夫(Bilal Yousaf)

我已经编写了一个bash脚本来创建一个文件夹(如果该文件夹尚不存在),并且已经在我的环境文件中设置了变量,并在我的.sh文件中对其进行了引用

以下是我的脚本,我已在环境文件中添加了.sh文件中的变量。

#!/bin/bash

if [ ! -d "$checkfolder" ]; then
  mkdir -p "$createfolder";
fi

我在/ etc / environment文件中设置了以下环境变量

checkfolder=/home/ubuntu/hello23
createfolder=/home/ubuntu/hello23

当我执行脚本时,出现以下错误:

ubuntu@:~/cicd$ ./createfolder.sh 
mkdir: cannot create directory ‘’: No such file or directory

这是我写的普通脚本,可以运行并创建一个文件夹(如果不存在)

if [ ! -d /home/ubuntu/hello ]; then
  mkdir -p /home/ubuntu/hello;
fi

这里的问题是什么,我应该进行哪些更改?

吉勒斯“别再邪恶了”

/etc/environment~/.pam_environment在登录时读取。如果您刚刚编辑了这些文件,则所做的更改将不适用于当前会话。

如果要将更改应用于当前会话,则可以运行

. /etc/environment

在当前shell中设置变量。这仅在变量的值不包含任何shell特殊字符(空格,()[]{}\|&;<>~*?'"`$#并且我可能会忘记一些字符/etc/environment时才有效,因为的语法只是shell语法的近似值。

如果您添加了新变量,而不仅仅是更改了它们的值,则还需要导出它们(VAR=value在shell中仅创建一个shell变量,而不是环境变量)。

export MY_HOME checkfolder createfolder

或更一般地

export $(sed -n 's/^\([A-Za-z0-9_]*\)=.*/\1/p')

没有文件可以为每个新程序设置环境,因为这会破坏环境的意义,即每个进程都有其自己的,从父进程继承的进程。如果存在“全局环境文件”,则将无法在其他环境下运行程序。如果要进行全局配置,请阅读配置文件:

if [ -e ~/.my_application_configuration.sh ]; then
  . ~/.my_application_configuration.sh
fi

有一种方法可以为每个bash脚本(仅bash脚本,而不是sh脚本)设置环境设置文件:将文件的完整路径放在环境变量中BASH_ENV如前所述,这通常是个坏主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

覆盖函数中的PHP变量并在另一个文件中使用它

来自分类Dev

是否可以在Java中定义一个变量并在JSP代码中使用该变量?

来自分类Dev

是否可以在Java中定义一个变量并在JSP代码中使用它?

来自分类Dev

在另一个.sh文件中使用手写的.sh文件

来自分类Dev

如何在angularjs中在一个文件中定义常量并在另一个文件中访问

来自分类Dev

如何在angularjs中在一个文件中定义常量并在另一个文件中访问

来自分类Dev

从 python 脚本中获取一个变量作为文件名并在批处理脚本中使用它

来自分类Dev

将数组存储在javascript文件中并在另一个文件中使用

来自分类Dev

有没有办法从.ahk文件中读取变量并在另一个批处理脚本文件中使用它

来自分类Dev

如何在一个文件中用C ++定义一个函数并在另一个文件中调用它?

来自分类Dev

如何在一个Javascript文件中授予对另一个Java文件中定义的变量的访问

来自分类Dev

如何在一个Javascript文件中授予对另一个Java文件中定义的变量的访问

来自分类Dev

在C ++中,如何使用在另一个文件中定义的常量变量?

来自分类Dev

访问另一个 .cpp 文件中的 .cpp 文件中定义的全局变量

来自分类Dev

使用在一个文件中定义的变量值,在同一目录中的文件中

来自分类Dev

如何在一个文件中引用一个变量,并能够跨多个文件使用?

来自分类Dev

使用sed awk替换另一个文件中定义的变量

来自分类Dev

如何使用TS Compiler API查找变量在另一个文件中的定义位置

来自分类Dev

如何通过另一个文件中另一个文件定义的变量来使用该文件中包含eval的函数?

来自分类Dev

在另一个var文件中使用一个Ansible var文件中的变量

来自分类Dev

如何在另一个文件中的一个js文件中使用变量?

来自分类Dev

在Razor的外循环中定义一个变量,并在循环中使用它

来自分类Dev

如何从一个文件中读取key = value变量并在另一个文件中替换$ {key}?

来自分类Dev

如何从一个文件中读取key = value变量并在另一个文件中替换$ {key}?

来自分类Dev

如何从一个文件中读取key = value变量并在另一个文件中替换$ {key}?

来自分类Dev

为netCDF文件中的变量之一定义一个新维度

来自分类Dev

如何访问在Matlab的另一个文件中定义的函数中的那些变量?

来自分类Dev

如何从python中的另一个文件访问构造函数中定义的变量

来自分类Dev

在UNIX中使用.sh文件运行.jar文件

Related 相关文章

  1. 1

    覆盖函数中的PHP变量并在另一个文件中使用它

  2. 2

    是否可以在Java中定义一个变量并在JSP代码中使用该变量?

  3. 3

    是否可以在Java中定义一个变量并在JSP代码中使用它?

  4. 4

    在另一个.sh文件中使用手写的.sh文件

  5. 5

    如何在angularjs中在一个文件中定义常量并在另一个文件中访问

  6. 6

    如何在angularjs中在一个文件中定义常量并在另一个文件中访问

  7. 7

    从 python 脚本中获取一个变量作为文件名并在批处理脚本中使用它

  8. 8

    将数组存储在javascript文件中并在另一个文件中使用

  9. 9

    有没有办法从.ahk文件中读取变量并在另一个批处理脚本文件中使用它

  10. 10

    如何在一个文件中用C ++定义一个函数并在另一个文件中调用它?

  11. 11

    如何在一个Javascript文件中授予对另一个Java文件中定义的变量的访问

  12. 12

    如何在一个Javascript文件中授予对另一个Java文件中定义的变量的访问

  13. 13

    在C ++中,如何使用在另一个文件中定义的常量变量?

  14. 14

    访问另一个 .cpp 文件中的 .cpp 文件中定义的全局变量

  15. 15

    使用在一个文件中定义的变量值,在同一目录中的文件中

  16. 16

    如何在一个文件中引用一个变量,并能够跨多个文件使用?

  17. 17

    使用sed awk替换另一个文件中定义的变量

  18. 18

    如何使用TS Compiler API查找变量在另一个文件中的定义位置

  19. 19

    如何通过另一个文件中另一个文件定义的变量来使用该文件中包含eval的函数?

  20. 20

    在另一个var文件中使用一个Ansible var文件中的变量

  21. 21

    如何在另一个文件中的一个js文件中使用变量?

  22. 22

    在Razor的外循环中定义一个变量,并在循环中使用它

  23. 23

    如何从一个文件中读取key = value变量并在另一个文件中替换$ {key}?

  24. 24

    如何从一个文件中读取key = value变量并在另一个文件中替换$ {key}?

  25. 25

    如何从一个文件中读取key = value变量并在另一个文件中替换$ {key}?

  26. 26

    为netCDF文件中的变量之一定义一个新维度

  27. 27

    如何访问在Matlab的另一个文件中定义的函数中的那些变量?

  28. 28

    如何从python中的另一个文件访问构造函数中定义的变量

  29. 29

    在UNIX中使用.sh文件运行.jar文件

热门标签

归档