SSH에 변수를 전달하고 싶습니다. 원격 운영 체제가 Unix/Linux가 아닙니다. Ericsson SmartEdge 운영 체제입니다.
newentry.txt seq 10의 내용은 IP 호스트 1.2.3.4를 거부합니다.
내 구문은
ENTRY=`head -1 /scripts/newentry.txt`
ssh [email protected] "configure; context NS; ip access-list NS_OUT; $ENTRY;"
스크립트를 실행하면 다음과 같이 표시됩니다.
ENTRY= head -1 $NEWENTRY_PATH
++ 헤드 -1 /scripts/zabbix/newentry.txt + ENTRY='seq 50 거부 IP 호스트 1.2.3.4 모두'
SSH[이메일 보호됨]"컨텍스트 NS; IP 액세스 목록 표시 NS_OUT" | awk '{$1=$1}1' > $ACL_PATH + ssh[이메일 보호됨]'Context NS; IP 액세스 목록 표시 NS_OUT' + tail -2 + head -1 + awk '{$1=$1}1' [이메일 보호됨]비밀번호:
awk '{ 인쇄 "seq '$NEWSEQUENCENUMBER' 거부 IP 호스트 '$NEWIPSOURCEADDRESS' 임의" }' $ACL_PATH > $NEWENTRY_PATH + awk '{ 인쇄 "seq 50 거부 IP 호스트 1.2.3.4 임의" }' /scripts/zabbix/acl .txt sed '1d' $ATTACKERS_PATH > /dev/null + sed 1d /scripts/zabbix/attackers.txt
SSH[이메일 보호됨]'구성;컨텍스트 NS;ip 액세스 목록 NS_OUT;echo $ENTRY;"' + ssh[이메일 보호됨]'구성 컨텍스트 NS_OUT;" [이메일 보호됨]비밀번호: 일치하지 않습니다. ". printf "%s\n" "$ENTRY" + printf '%s\n' 'seq 50 Deny IP Host 1.2.3.4 Any' SEQ 50 Deny IP Host 1.2.3.4 Any
답변1
당신이 사용하는 경우
ssh [email protected] "~/tools/run_pvt.pl $BUILD_NUMBER"
바꾸다
ssh [email protected] '~/tools/run_pvt.pl $BUILD_NUMBER'
쉘은 명령 문자열을 원격 호스트로 보내기 전에 $BUILD_NUMBER를 삽입합니다.