bash - 有什么方法可以从作为 bash 脚本中的参数传递的文本文件中获取和使用变量?
问题描述
我有一个名为 txt 的文件setup.txt
,其中包含以下数据:
DSN=ZXP.SOURCE
PATH=/z/zxp/20211015
SCHEMA=ZXP
URL=https://zxp-support.mybluemix.net/contest/4q21/
OUTPUT=OUTPUT(RESULT)
REPORT=q421report
我能够获取一些帮助使用的变量,declare
但我无法在脚本下方执行命令
input="$1"
if [ $# -ne 1 ]
then
printf "This program takes the input from a file (first argument)\n"
exit 1
fi
if test -f "$input"; then
echo "$input exists."
else
echo "File $input does not exist, or is not a file"
exit 1
fi
mapfile -t a < $1
declare "${a[@]}"
db="$DSN"
path="$PATH"
schema="$SCHEMA"
url="$URL"
output="$OUTPUT"
report="$REPORT"
DB2="java com.ibm.db2.clp.db2"
$DB2 -tvf decrypt.sql > parse_decryption1.txt
key=$(python3 decryption.py)
sed -e 's/schema/'"${schema}"'/g;s/pass/'"${key}"'/g' drop3.sql > finaldrop4.sql
$DB2 -tvf finaldrop4.sql > raw_data.txt
python3 drop4.py ${url} > drop5output.txt
我收到以下错误:
./q421drop5.sh: line 30: java: command not found
./q421drop5.sh: line 31: python3: command not found
./q421drop5.sh: line 32: sed: command not found
./q421drop5.sh: line 33: java: command not found
./q421drop5.sh: line 36: python3: command not found
./q421drop5.sh: line 37: cp: command not found
如何访问变量并仍然能够执行下面的其他命令?
解决方案
推荐阅读
- java - 为什么方法在异步嵌套异常堆栈跟踪中没有出现两次?
- tensorflow - TensorFlow:损失和度量应该相同吗?
- angular - 在单元测试期间观察变量变化
- c++ - 在 Visual Studio C++ 中扫描单引号字符串时 EOL
- sql - 在 db2 的 fetch 语句中使用 sql 变量
- html - Flexbox,限制可用空间内的图像高度/宽度
- kotlin - Ktor 中带有 201 响应的位置 URI
- r - R 数据管理:根据来自其他变量的多个条件将多个变量聚合为新生成的变量
- sql-server - SQL server 多期对比
- backend - 模型类未返回 Octobercms 过滤器范围选项