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

linux - 初始化脚本问题 : unexpected then, 期待 }

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

Tôi có một tập lệnh init (tôi đang chạy Debian) khởi động máy chủ DLNA. Khi tôi khởi động dịch vụ, tôi gặp lỗi sau. Bất kỳ trợ giúp sẽ được đánh giá rất cao. Xin lưu ý: Tôi rất mới với linux/bash/debian.

Tôi gặp lỗi này: Cú pháp không hợp lệ: Không mong đợi ở dòng 43, dự kiến

使用这段代码:

                    #!/bin/sh
#
# /etc/init.d/serviio
#
#
### BẮT ĐẦU THÔNG TIN BẮT ĐẦU
# Cung cấp: dịch vụ
# Bắt buộc-Bắt đầu: $network
# Bắt buộc-Dừng: $network
# Mặc định-Bắt đầu: 3 5
# Dừng mặc định: 0 1 2 6
# Mô tả: Khởi động máy chủ serviio DLNA ở chế độ không đầu
###KẾT THÚC THÔNG TIN BAN ĐẦU

SERVIIO_HOME="/opt/serviio"
SERVIIO_DAEMON="serviio.sh"
SERVIIO_BIN="$SERVIIO_HOME/bin/$SERVIIO_DAEMON"
SERVIIO_USER="serviio"

# Thư viện hàm nguồn.
./lib/lsb/init-functions

TRẢ LẠI=0

kiểm tra() {
# Kiểm tra xem chúng tôi có phải là người dùng đặc quyền không
[ $(id -u) = 0 ] ||

# Kiểm tra xem SERVIIO_HOME có tồn tại không
test -d "$SERVIIO_HOME" || lối ra 5

# Kiểm tra xem SERVIIO_BIN có thể thực thi được không
kiểm tra -x "$SERVIIO_BIN" || thoát 5
}

bắt đầu() {
kiểm tra

echo -n "Khởi động máy chủ Serviio DLNA: "
/usr/bin/Sudo -u $SERVIIO_USER -H $SERVIIO_BIN -không đầu &

TRẢ LẠI=$?
nếu [ $RETVAL -eq 0 ];
chạm vào/var/lock/serviio
log_end_msg 0
khác
log_end_msg 1
fi
tiếng vang
trả lại $RETVAL
}

dừng lại() {
kiểm tra

echo -n "Tắt trình nền Serviio DLNA: "
killproc "$SERVIIO_BIN"
TRẢ LẠI=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/serviio
tiếng vang
trả lại $RETVAL
}

khởi động lại() {
stop
bắt đầu
}


trường hợp "$1" trong
bắt đầu)
bắt đầu
;;
dừng lại)
stop
;;
buộc tải lại)
khởi động lại
;;
khởi động lại)
khởi động lại
;;
khởi động lại)
nếu [ -f /var/lock/serviio ];
khởi động lại
fi
;;
trạng thái)
trạng tháiservio.sh
;;
*)
echo $"Cách sử dụng: $0 {bắt đầu|dừng|trạng thái|khởi động lại|condrestart|bắt buộc tải lại}"
TRẢ LẠI=2
esac

thoát $RETVAL

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

Tôi có thể chạy tập lệnh này mà không gặp lỗi cú pháp nhưng tôi chưa cài đặt serviio. Dù sao, tôi đoán là $RETVAL bằng cách nào đó trống rỗng và nó cần được đặt trong dấu ngoặc kép:

nếu [ "$RETVAL" -eq 0 ];

Mặc dù tôi nghĩ điều này sẽ nhắc "[" mong đợi một toán tử đơn nguyên.

Điều tiếp theo cần thử là nhận xét từng phần một bằng cách thêm "#" vào các dòng trong phần đó cho đến khi bạn có thể thu hẹp vị trí của vấn đề. Ví dụ: nhận xét toàn bộ phần "bắt đầu" hoặc nhận xét chức năng "kiểm tra" (và đảm bảo bạn cũng nhận xét lệnh gọi đến phần đó). Điều này sẽ giúp thu hẹp nó.

Về linux - vấn đề về tập lệnh khởi tạo: ngoài dự kiến, 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/14498306/

29 4 0
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