명령줄에서 명령을 실행했는데 제대로 작동합니다. bash 스크립트에 동일한 명령을 추가했는데 출력이 잘렸습니다. 나는 참조가 올바른지 확인했고 어디에서 잘못되었는지 알 수 없는 것 같습니다.
수동으로 실행할 때의 명령은 다음과 같습니다.
./ciscocmd -u username -p password -s passwowrd -t 192.168.1.1 -c "show mac address-table address 34e6.xxxx.xxxx"
이것은 보여준다
Processing... 192.168.1.1
switch#show mac address-table address 34e6.xxxx.xxxx
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
10 34e6.xxxx.xxxx DYNAMIC Gi0/2
Total Mac Addresses for this criterion: 1
스크립트의 내용은 다음과 같습니다.
portis=`./ciscocmd -u username -p password -s passwowrd -t 192.168.1.1 -c "show mac address-table address 34e6.xxxx.xxxx"`
echo $portis
그러나 이것은 이것을 출력합니다
[root@server]# ./test.sh
switch#ddresses for this criterion: 1--4e6.xxxx.xxxx
[root@server]#
제가 뭔가를 놓치고 있는 것 같아요. Mac 주소를 둘러싸기 위해 이중 "" 및 ""를 사용해 보았지만 작동하지 않습니다.
어떤 제안이 있으십니까?