yes 명령을 사용하면 교착 상태가 발생합니다.

yes 명령을 사용하면 교착 상태가 발생합니다.

다음과 같은 파일이 있습니다 setup.sh.

. install.sh && . tolinux.sh && . startn.sh && . startm.sh

이것은 install.sh:

yes | sudo apt-get update
yes | sudo apt-get install default-jdk
yes | sudo apt-get install expect
sudo apt-get install lftp

cd /usr/local/src/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/

/usr/bin/expect <<END_SCRIPT
spawn make install
expect "Please enter the login/email*" { send "Username\r" }
expect "Please enter the password for user*" { send "password\r" }
expect "Please enter an update interval*" { send "30\r" }
expect "Do you wish to run something at successful update*" {send "N\r" }
END_SCRIPT

이것이 터미널에서 전체 프로세스를 실행하는 방법입니다.

. setup.sh

yes명령은 처음 두 줄 어딘가에서 문제를 일으킵니다. 두 설치 모두 확인이 필요하다는 것을 알고 있습니다. 발생하는 출력은 다음과 유사합니다.

y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
ySelecting previously unselected package libdatrie1:amd64.
Preparing to unpack .../libdatrie1_0.2.8-1_amd64.deb ...
Unpacking libdatrie1:amd64(0.2.8-1) ...
[several similar lines]
Selecting previously unselected package libpango-1.0-0:amd64.
Preparing to unpack .../libpango-1.0-0_1.36.3-1ubuntu1_amd64.deb ...
Unpacking libpango-1.0-0:amd64 (1.36.3-1ubuntu1) ...
_

(마지막 밑줄은 커서가 계속 깜박이는 부분입니다)

yes명령이 설치를 방해한 것 같은데 이유와 방법을 모르겠습니다...

어떤 아이디어가 있나요?

답변1

~에서man apt-get

   -y, --yes, --assume-yes
       Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively. If an
       undesirable situation, such as changing a held package, trying to install a unauthenticated package or
       removing an essential package occurs then apt-get will abort. Configuration Item: APT::Get::Assume-Yes.

시도해 보셨나요?

편집하다

install.sh에 대한 나의 제안

 sudo apt-get -y update
 sudo apt-get -y install default-jdk
 sudo apt-get -y install expect
 sudo apt-get install lftp

 # rest unchanged

관련 정보