Tôi muốn nhúng một lệnh dài như thế này trong một kịch bản bash:Làm cách nào để chia nhỏ chuỗi ký tự cực dài trong bash?
mycommand \
--server myserver \
--filename extremely/long/file/name/that/i/would/like/to/be/able/to/break/up/if/possible \
--otherflag \
--anotherflag
với tên tập tin dài tan rã.
tôi có thể làm điều này:
# Insufficiently pretty
mycommand \
--server myserver \
--filename extremely/long/file/name/\
that/i/would/like/to/be/able/to/break/\
up/if/possible \
--otherflag \
--anotherflag \
nhưng nó phá vỡ dòng chảy. Tôi sẽ như để có thể viết này:
# Doesn't work
mycommand \
--server myserver \
--filename extremely/long/file/name/\
that/i/would/like/to/be/able/to/break/\
up/if/possible \
--otherflag \
--anotherflag
nhưng điều đó không làm việc vì nó sẽ vỡ ra chuỗi chữ.
Có cách nào để yêu cầu bash phá vỡ chuỗi ký tự nhưng bỏ qua bất kỳ dấu cách hàng đầu nào không?
Ý tưởng hay. Bạn có thể làm cho nó sạch hơn mặc dù, bằng cách sử dụng toán tử '+ =' thay vì 'file = $ {file}/...' – Chriszuma
+1: Đây là cách tiếp cận ít bị làm phiền theo ý kiến của tôi. Mục đích là rõ ràng. –
@Chriszuma Có Tôi quên rằng bash cho phép toán tử '+ ='. Tôi đã chỉnh sửa câu trả lời của mình. – WilQu