나는 다음 명령을 가지고 있습니다 :
ovftool --acceptAllEulas -ds="Local_Storage_1_39" -n="VR-OVF" --net:"Management Network"="VM Network 2" --prop:"password"="R3d@ctedPassw0rd!"$a" --prop:"ntpserver"="10.109.10.140" --prop:"vami.ip0.vSphere_Replication_Appliance"="10.109.10.198" --vService:installation=com.vmware.vim.vsm:extension_vservice /mnt/iso/bin/vSphere_Replication_OVF10.ovf vi://"[email protected]":'R3d@ctedPassw0rd!'@10.109.10.142/?ip=10.109.8.39
출력은 다음과 같습니다
-bash: !'@10.109.10.142/?ip=10.109.8.39: event not found
작은따옴표 안에 비밀번호를 입력해 보았습니다. 같은. 시도해 보았는데
\"'R3d@ctedPassw0rd!'\"
여전히 같은 문제입니다.
답변1
event not found
쉘 기록 검색이 실패했음을 나타냅니다. 이는 아마도 포함된 비밀번호 주위에 잘못된 인용이 있기 때문일 수 있으므로 !
쉘( bash
)은 이를 기록 확장으로 구문 분석하려고 시도했지만 실패하고 비유적인 손을 던지고 오류 메시지를 반환합니다.
$ echo Problems!Abound
bash: !Abound: event not found
약한 따옴표는 이를 방해하지 않습니다:
$ echo "Problems!Abound"
-bash: !Abound: event not found
비밀번호를 변수에 넣고 간접적으로 인용하거나, 비밀번호를 항상 큰 따옴표(아래와 같이)로 묶거나 올바르게 이스케이프 처리했는지 확인하세요.
$ echo 'Problems!Abound'
Problems!Abound
답변2
명령의 이 부분 앞의 따옴표가 일치하지 않습니다.
--prop:"password"="R3d@ctedPassw0rd"$a"
구문 강조를 수행할 수 있는 편집기에 명령을 붙여 넣으면 문제를 쉽게 발견할 수 있습니다. 변수에 무엇이 있는지 잘 모르겠지만 $a
옵션이 다음과 같이 보이도록 하려면 변수 앞의 따옴표를 제거해야 할 것 같습니다.
--prop:"password"="R3d@ctedPassw0rd$a"