在shell脚本中,我使用以下命令执行参数文件;我想从该参数文件中导出所有变量。它在dev中工作,当我迁移到UAT时,它失败并出现错误":找不到命令"
主脚本有以下内容。我正在传递BaseDir
路径作为参数(此处为/usr/test/proj
)
#!/bin/sh
BaseDir=$1
. ${BaseDir}/test.prm
export TEST1
export TEST2
TEST1=/usr/test/home
TEST2=12345
我也尝试执行命令行:
. /usr/test/proj/test.prm
这在我的开发环境中取得了成功,但在UAT中失败了。两台服务器都在Linux上。
我做错了什么?
答案 0 :(得分:1)
首先是mainscript.sh chmod + x,chmod 777 /home/script/mainscript.sh
#!/bin/bash
dir="$(dirname "$0")"
. $dir/functions/settings.sh
settings
echo $GODADDY_API_URL
echo $GODADDY_CSV_FILE
echo $GODADDY_CSV_FILE_DETAILED
echo $GODADDY_API_KEY
函数文件settings.sh chmod + x,chmod 777 /home/script/functions/script.sh
#!/bin/bash
dir="$(dirname "$0")"
SETTINGS="$dir/data/settings.list"
function settings {
. $SETTINGS
}
设置文件settings.list chmod + x,chmod 777 /home/script/data/settings.list
GODADDY_API_URL=https://api.godaddy.com
GODADDY_CSV_FILE="All domains.csv"
GODADDY_CSV_FILE_DETAILED="All domains detailed.csv"
GODADDY_API_KEY=1qazxsw23edcvfr45tgb