Ví dụ:Bash: Lấy đối số dòng lệnh đầu tiên và vượt qua phần còn lại
check_prog hostname.com /bin/check_awesome -c 10 -w 13
check_remote -H $HOSTNAME -C "$ARGS"
#To be expanded as
check_remote -H hostname.com -C "/bin/check_awesome -c 10 -w 13"
Tôi hy vọng làm cho tinh thần trên, Những lập luận sẽ thay đổi như tôi sẽ sử dụng này trong khoảng 20+ lệnh. Một phương pháp kỳ quặc của việc gói một chương trình, nhưng nó hoạt động xung quanh Một vài vấn đề với một vài hệ thống mà chúng ta đang sử dụng ở đây (Gotta yêu mã 70)
Ở trên có thể được viết bằng perl hoặc python, nhưng Bash sẽ là phương pháp ưa thích
Tuyệt vời! Hoạt động như một nét duyên dáng 'echo $ 1 shift echo $ * ' là ví dụ về cách sử dụng thay đổi cho những người trong tương lai tìm kiếm điều này, chạy nó như './script.sh cmd1 cmd2 cmd3 cmd4' và nó sẽ đặt $ 1 thành cmd1 và phần còn lại sẽ là cmd2 cmd3 cmd4 như tôi muốn – user554005
Và '$ #' bị giảm 1 trừ khi nó đã là 0. Bạn cũng có thể cho 'shift' một đối số dạng số để thay đổi theo nhiều vị trí. –
@ user554005: Bạn hầu như luôn luôn sử dụng 'echo '$ @" 'thay vì' echo $ * 'hoặc' echo "$ *" 'kể từ biểu mẫu chưa được trích dẫn và" $ * 'form" được trích dẫn " thường không muốn. –