Tôi có một số rắc rối với một kịch bản shell, xin hãy giúp tôi, thx.
Tôi tạo một tệp kịch bản lệnh shell được đặt tên là 'integration.sh' và mỗi khi tôi gọi tập lệnh này với tham số trông giống như '20180208', '20180214' (định dạng ngày yyyyMMdd) ... vv.
# sh triển khai.sh 20180208
Nội dung cho shell như bên dưới (Tôi đã viết một số dòng để kiểm tra, nhưng tôi đã gặp rắc rối):
#! / thùng / sh # ĐỊNH NGHĨA UPLOAD_DATE = $ 1 # ĐẦU RA SH_LOG = / home / jin.huang / log / execsh.log Triển khai () { tiếng vang $ 1 tiếng vang $ UPLOAD_DATE } Triển khai >> $ SH_LOG
vì vậy, tôi đã chuyển 20180208 vào triển khai.sh, nhưng tôi đã nhận được hai kết quả với giá 1 đô la:
tiếng vang $ 1
tiếng vang "$ 1"
những bản in trống trên màn hình;
tiếng vang $ UPLOAD_DATE
tiếng vang "$ UPLOAD_DATE"
những bản in này '20180208' trên màn hình.
Tại sao có hai kết quả?
$1
không phải là chức năng tương tự$1
. Bạn có thể truyền tham số cho các chức năng bên trong tập lệnh.Deploy "$1"
sẽ truyền script$1
cho hàm.