Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中创建配置文件的最佳方法是什么?_Bash - Fatal编程技术网

在bash中创建配置文件的最佳方法是什么?

在bash中创建配置文件的最佳方法是什么?,bash,Bash,我使用bash来配置许多构建工具 我想使用变量来设置某些东西,以便构建工具可以在许多环境中使用 目前我有 exports var=val 然后我做了 $var 当我需要使用它的时候 这是最好的方法吗?我知道在bash中有很多方法 **Example** #!/bin/bash path_bash="$HOME/root/config/bash/" source "${path_bash}_private.sh" source "${path_bash}config.sh" source

我使用bash来配置许多构建工具

我想使用变量来设置某些东西,以便构建工具可以在许多环境中使用

目前我有

exports var=val
然后我做了

$var 
当我需要使用它的时候

这是最好的方法吗?我知道在bash中有很多方法

**Example**

#!/bin/bash

path_bash="$HOME/root/config/bash/"
source "${path_bash}_private.sh"
source "${path_bash}config.sh"
source "${path_bash}utility.sh"
source "${path_bash}workflow.sh"
source "${path_bash}net.sh"
source "${path_bash}makeHTM.sh"

#
#
#
# Divider - Commands
#
#
#

cd ~/root

跳过
导出
,除非您确实需要它(也就是说,除非您需要该变量传播到您执行的不相关(=已执行)进程)

如果执行
export
,通常最好将变量大写(
export VAR=val
),使其明显地传播到执行的二进制文件中


当您引用shell变量时,通常需要双引号(
“$var”
),除非您需要对该变量展开进行全局展开和空格拆分(准确地说是对
$IFS
字符进行拆分)。

sparrow automation framework为您提供了一个以多种方式配置bash的机会:

  • 传递命令行命名参数
  • yaml格式的配置文件
  • json格式的配置文件
  • config::general格式的配置文件
当然,您首先需要将bash脚本打包到sparrow插件中才能获得这种行为,但这并不是什么大问题。请关注详细信息


PS.披露-我是sparrow工具的作者。

我建议使用一个文件,其中只包含您正在使用的所有环境变量的导出语句,这样,只有此“配置”文件需要在环境之间进行更改。我使用多个文件,这会有任何影响吗?也就是说,我在一个文件中使用变量,在另一个文件中使用变量。(.sh文件)。这是否可以>如果你源文件(
源文件
),那么你不需要这些
导出
s。我使用导出,如果我不需要导出,我如何声明变量?你不使用导出内置。只是:
var=val
(=execed)
指的是什么?