Độ dài tối đa của một dòng lệnh trong Mac OS X là bao nhiêu?


11

Tôi đang tạo các mô hình trong Ruby on Rails và một số bảng trong số này có rất nhiều cột. Độ dài tối đa của một lệnh trong Mac OS X là bao nhiêu?

Câu trả lời:


15

Giới hạn không phải là bash mà là trong hệ điều hành của bạn. Nó được xác định bởi giá trị ARG_MAXtrong hệ điều hành của bạn limits.h. Bạn có thể nhận được giá trị bằng cách chạy getconf ARG_MAX. Trên máy OSX 10.5 của tôi (và hầu hết các hệ thống BSD khác) là 262144. Bạn có thể đọc thêm về giới hạn này tại đây .


1
Trên Solaris 10, nó là 1048320 - cả hai đều lớn đến mức chúng làm lu mờ tâm trí rằng ai đó có thể chạy ra khỏi nó.
Jonathan Leffler

Thông minh. Tôi đoán tôi đã đi xa chưa. lol
DGM

1
Kể từ macOS 10.12, giới hạn vẫn là 262.144 (256 KB). Lưu ý rằng giới hạn chỉ áp dụng khi gọi các tiện ích bên ngoài , không phải các nội trang. So sánh echo "$(printf "%$(getconf ARG_MAX)s")"với/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
mkuity

Sierra cao (10.13.1) ở đây, vẫn còn 262144.
Siu Ching Pong -Asuka Kenji-

@JonathanLeffler Tìm kiếm trong vài nghìn tệp sẽ nhanh chóng làm cho con số đó trở nên rất nhỏ.
Rõ ràng hơn

1

Nó phụ thuộc vào trình bao, nhưng lần cuối cùng tôi chạy tập lệnh cấu hình sử dụng zsh trên 10.6 là 65535 ký tự.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.