셸 에서 자동 으로 상호작용 하 는 방법
재 설정 연산 자 command < < delimiter 는 매우 유용 한 명령 입 니 다. 셸 은 분계 부 delimiter 이후 같은 분계 부 이전의 모든 내용 을 입력 으로 합 니 다. 다음 분계 부 를 만나면 셸 은 입력 이 끝 났 음 을 알 수 있 습 니 다.가장 흔히 볼 수 있 는 delimiter 분계선 부 호 는 EOF 이 며, 당연히 다른 문자 로 스스로 정할 수 있다.
Here Document 는 Shell 의 특수 한 재 설정 방식 으로 입력 을 대화 식 Shell 스 크 립 트 나 프로그램 으로 재 설정 합 니 다.
그것 의 기본 형식 은 다음 과 같다.
command <
delimiter (document) command。
:
delimiter , , , tab 。
delimiter 。
#!/bin/bash
ftp -i -n 192.168.167.187 << EOF
user hzc 123456
pwd
cd test
pwd
close
bye
EOF
, hzc, 123456 ftp , , pwd。
: ,echo + sleep + |
, , echo + sleep + | 。
#!/bin/bash
(echo "curpassword"
sleep 1
echo "newpassword"
sleep 1
echo "newpassword")|passwd
: passwd , curpassword,1 newpassword,1 newpassword, curpassword newpassword。
:expect
expect ,expect , :
#!/usr/bin/expect
spawn su root
expect "password: "
send "123456\r"
expect eof
exit
xx.exp
:Here Document expect
expect <
:
expect< spawn sudo chown -R adminHard:adminHard $newdir
expect {
"*passwor*" {send "$COMPILE_SERVER_SSH_PASSWORD
" ; exp_continue}
}
!
:expect
[set timeout 30]
, :
[spawn ssh -l username 192.168.1.1]
spawn command fork command , ;
spawn expect expect , expect SHELL spawn 。 “which spawn“ spawn 。 windows dir , shell , dir.com dir.exe 。
ssh , 。
[expect "password:"]
expect expect , ,expect shell , , 。 “password:” , , , 30
[send "ispass\r"]
, 。
: “\r”, 。
[interact]
, , 。 , 。 , [expect eof]
expect “-c” , , :
expect -c '
spawn git pull
expect {
"Usernam*" {send "[email protected]
"; exp_continue }
"Passwor*" {send "$GIT_CODE_PASSWORD
" ; exp_continue}
}
'
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.