tôi nhận được lỗi sau đó là suy giảm trên dòng cuối cùng của mã của tôi (đó là trống):Lỗi khi sử dụng một bash đây-doc "kết thúc bất ngờ của tập tin"
syntax error: unexpected end of file
tôi không thể hình tại sao nó lại nói điều này. Tôi chỉ đang cố gắng sử dụng một số here-doc
cho kết nối ssh:
#!/bin/sh
connectToServer() {
ssh -t [email protected]$1 <<- ENDSSH
echo "Connected to server!"
ENDSSH
}
connectToServer $1
Mã này có vấn đề gì?
EDIT
Nhờ những người bạn đã giúp tôi khắc phục sự cố này. Có một vài điều sai trái với kịch bản của tôi; Tôi đang sử dụng dấu cách trên dòng:
echo "Connected to server"
thay vì ký tự tab. Tôi cũng đã bao gồm khoảng trắng trước khi đóng ENDSSH
đã gây ra EOF. Những thay đổi này là một phần của vấn đề của tôi, nhưng điều cuối cùng đã giải quyết là xóa một ký tự khoảng trắng bổ sung xuất hiện SAU KHI đóng ENDSSH
của tôi.
Tôi vừa thử điều này và lỗi là như nhau. : -/ –
Tôi đã sao chép cùng một lỗi bằng cách đặt dấu cách trước khi đóng 'ENDSSSH' Nó biến mất khi tôi loại bỏ tất cả các dấu cách hàng đầu. – anubhava
Tôi đường ống kịch bản của tôi để 'hexdump -C' và thấy rằng nó không phải là một không gian hàng đầu hoặc bất kỳ ký tự trước' ENDSSH' nó là một '0a' hoặc ký tự newline sau' ENDSSH'. Tôi lột nó đi và bây giờ nó hoạt động. Cảm ơn vì đã giúp tôi tìm thấy điều này! –