Tôi có tập lệnh shell lớn hơn xử lý các thứ khác nhau.Shell Script và dấu cách trong đường dẫn
Nó sẽ nhận được đó là vị trí riêng bởi những điều sau ...
BASEDIR=`dirname $0`/..
BASEDIR=`(cd "$BASEDIR"; pwd)`
sau đó basedir sẽ được sử dụng tạo ra các biến khác như
REPO="$BASEDIR"/repo
Nhưng vấn đề là shell script này không hoạt động nếu đường dẫn chứa các khoảng trống nơi nó hiện đang được thực hiện.
Vì vậy, câu hỏi đặt ra là: Có tồn tại một giải pháp tốt để giải quyết vấn đề đó không?
Những vỏ bạn đang sử dụng? – eaj
Điều này nên được posix, gây ra nó nên chạy trên càng nhiều unixes càng tốt ... Ở đây bạn có thể thấy kịch bản mà tôi có nghĩa là (nó được sử dụng như là một mẫu). http://svn.codehaus.org/mojo/trunk/mojo/appassembler/appassembler-maven-plugin/src/main/resources/org/codehaus/mojo/appassembler/daemon/script/unixBinTemplate – khmarbaise
Tôi đã chạy các lệnh ở trên trong cả 'bash' và' dấu gạch ngang '(những gì Ubuntu sử dụng cho 'sh'), trong một thư mục có tên thư mục cha có dấu cách. Dường như nó hoạt động tốt. Điều gì sẽ xảy ra nếu bạn chạy các lệnh từ một thiết bị đầu cuối trong một thư mục có vấn đề, theo sau là 'echo" $ REPO "'? Tôi đoán là bạn quên trích dẫn '" $ REPO "' ở đâu đó. –