我正在学习 sh 命令并遵循以下说明,并且想了解它的作用及其效果。
//.devrun.sh
CLUSTER_DISCOVERY_URL=mongodb://localhost/service-discovery \
CLUSTER_SERVICE="search" \
CLUSTER_ENDPOINT_URL=http://localhost:$PORT \
ROOT_URL=http://www.mydomainname.com \
meteor --port $PORT
运行它的命令:
PORT=<port number> sh .devrun.sh
这些环境变量要导出吗?那那些“\”呢?
答案1
\
在上下文中,该字符是一个“延续”字符。由于有连续字符,shell 将每一行解释为一行。
显然,meteor
需要定义某些环境变量,这些变量是在命令行中定义的:CLUSTER_DISCOVERY_URL
、CLUSTER_SERVICE
、CLUSTER_ENDPOINT_URL
和ROOT_URL
。另外,在命令行中还定义了另一个环境变量:PORT
。
所有这些变量都是在运行之前定义的.devrun.sh
。