cuốn sách gpt4 ai đã làm

Linux shell: tập lệnh `expect` của tôi không hoạt động như mong đợi

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 04:44:37 29 4
mua khóa gpt4 Nike

Tôi có một đoạn script đơn giản như thế này đọc 2 số từ dòng lệnh và cộng chúng lại với nhau:

$cat runexp.sh
#!/bin/bash
echo "đọc số 1"
đọc n1
echo "đọc số thứ 2"
đọc n2
exp $n1 + $n2

Nó hoạt động, không có vấn đề gì. Sau đó tôi đã viết một kịch bản dự kiến ​​như thế này:

$cat autorun.sh
#!/usr/bin/mong đợi
sinh sản ./runexp.sh
mong đợi 'đọc số thứ nhất' {gửi "1"}
mong đợi 'đọc số thứ 2' {gửi "2"}
tương tác

Có vẻ như nó vẫn nhắc đọc từ dòng lệnh và phải mất một thời gian dài mới hoàn thành.

$./autorun.sh
sinh sản ./runexp.sh
đọc số 1
5
4
3
5
4
3
đọc số thứ 2
9

Tôi đã sai ở đâu? Cảm ơn.

câu trả lời hay nhất

Bạn cũng phải gửi ký tự dòng mới, nếu không nó sẽ chỉ đợi (ít nhất là cho đến thời gian chờ mặc định, tôi nghĩ là mười giây).

此外,trông chờ Không thích sử dụng dấu ngoặc đơn để bao quanh chuỗi. Giống như Tcl (nguồn gốc của nó), nó yêu cầu dấu ngoặc kép hoặc dấu ngoặc nhọn. Điều này hoạt động tốt:

#!/usr/bin/mong đợi

sinh sản ./runexp.sh

mong đợi "đọc số thứ nhất" {gửi "1\n"}
mong đợi {đọc số thứ 2} {gửi "2\n"}

tương tác

Về Linux shell: tập lệnh `expect` của tôi không hoạt động như mong đợi, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/44319579/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress