Hành vi khác nhau của cd với nhiều đối số trong bản phát hành bash


14

Đăng nó ở đây một cái gì đó đang làm tôi bối rối; nâng cấp một máy chủ ứng dụng từ Jessie lên Stretch đã phá vỡ một bashtập lệnh.

Khi điều tra, chúng tôi đã thu hẹp nó để thay đổi hành vi của cdlệnh. Tôi không thảo luận ở đây nếu những gì kịch bản đang làm là một ý tưởng tốt, hoặc nếu nó có thể được cải thiện, tôi chỉ tập trung vào thay đổi hành vi / nhận thức về thay đổi tư duy.

Jessie

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*

cd hoạt động và đĩa CD vào thư mục đầu tiên; thật ra * -run là một liên kết tượng trưng đến cùng một thư mục.

Căng ra

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*
bash: cd: too many arguments

bash là 4.3.30 (1) ở Jessie và 4.4.12 (1) ở Stretch.

Tại sao sự thay đổi trong hành vi giữa Jessie và Stretch?


Câu trả lời:


23

Xem Ghi chú Relase của bash 4.4 , đặc biệt là

qq. Có một tùy chọn mới có thể giải quyết được trong config-top.h khiến nhiều đối số thư mục bị cdlỗi nghiêm trọng.

BTW, tôi không biết. Tôi vừa googled cho "bash cd số 4.4".


8
Hấp dẫn. Một điều tốt đẹp vì nó tránh âm thầm loại bỏ các đối số bổ sung khi có một lỗi thoát.
quang phổ

@spectras Nhận xét thú vị, trong khi tôi nghi ngờ nó có thể có hàm ý bảo mật, không nhìn từ góc độ đó.
Rui F Ribeiro
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.