1
나는 xmllint
xmllint에 전달 된 명령에 환경 변수를 전달하는 방법은 무엇입니까?
내 XPath를 쿼리 내가 환경 않고 환경 변수
에 저장하고자 올바른 DbType과,로 이동해야 사용하여 XML 파일에서 db
요소의 value
특성을 추출하기 위해 노력하고있어
echo 'cat //rdbmsinfo/dbtype[@value="$ldb_source_typ"]/db/@value' | xmllint --shell "config.xml" | grep -v ">" | cut -f 2 -d "=" | tr -d \ | sed 's/"//g'
0 (하드 코딩),이 명령
echo 'cat //rdbmsinfo/dbtype[@value="sqlserver"]/db/@value' | xmllint --shell "config.xml" | grep -v ">" | cut -f 2 -d "=" | tr -d \ | sed 's/"//g'
작동 내가 명령 아래에 노력하고 변수
여기서 ldb_source_typ
은 쉘 매개 변수의 값을 "sqlserver"
으로 가져 오는 변수입니다. 그러나 위의 구문은 출력을 제공하지 않습니다.
왜이 기능이 작동하지 않고 어떻게 해결할 수 있습니까?
내 config.xml의 XML은 다음과 같습니다
<?xml version="1.0"?>
<rdbmsinfo>
<dbtype value="sqlserver">
<db value="sqlsrv1">
<dbhostip>192.168.0.1</dbhostip>
<dbhostportno>2000</dbhostportno>
<dbusername>sample</dbusername>
<dbpassword>sample</dbpassword>
</db>
<db value="sqlsrv2">
<dbhostip>192.168.0.2</dbhostip>
<dbhostportno>2000</dbhostportno>
<dbusername>sample</dbusername>
<dbpassword>sample</dbpassword>
</db>
</dbtype>
<dbtype value="postgresql">
<db value="postsql1">
</db>
</dbtype>
</rdbmsinfo>