Tôi tin rằng những gì bạn đang tìm kiếm là -s
tùy chọn. Với -s
, bạn có thể truyền đối số cho kịch bản.
Như một ví dụ giả để minh họa điều này:
$ echo 'echo 1=$1' | bash -s -- Print
1=Print
Ở đây, bạn có thể thấy rằng tập lệnh được cung cấp trên stdin được đưa ra tham số vị trí Print
. Kịch bản của bạn có một -u UUID
đối số và điều đó cũng có thể được cung cấp:
$ echo 'echo arguments=$*' | bash -s -- -u UUID print
arguments=-u UUID print
Vì vậy, trong trường hợp của bạn:
curl -fsSL http://git.io/vvZMn | bash -s -- print
Hoặc là,
curl -fsSL http://git.io/vvZMn | bash -s -- -u UUID print
Như Stephen Harris đã chỉ ra, tải xuống một kịch bản và thực hiện nó, không nhìn thấy được, là một mối quan tâm bảo mật.
print
làm gì ở đây? Hiển thị các lệnh đang được chạy? Nếu vậy, hãy thửbash -x
. Lưu ý:curl | bash
thói quen này là một lỗ hổng bảo mật lớn; bạn không được xem cái gì sẽ được chạy cho đến khi máy chủ của bạn bị xóa.