Khác nhau khi sử dụng braces {} và parentheses () trong Bash Shell

Cả hai đều có chức năng để gom nhóm các câu lệnh để có thể xuất output đến một file hoặc một command nào đó.

Tuy nhiên:
– Khi sử dụng {} bạn cần có khoản trắng giữa hai đầu { và }. Và kết thúc là một semicolon ;. Còn () thì không yêu cầu như vậy.

– Khi sử dụng () bạn đang sử dụng một dạng tương tự của shell, một con của shell hiện tại gọi là subshell.

– Khi sử dụng () các biến môi trường của bạn sẽ không bị thay đổi, ví dụ như bạn sử dụng cd command để đến một thư mục khác, sau khi subshell đó kết thúc các biến môi trường của bạn vẫn không bị thay đổi. Trong khi đó với {} nó sẽ sử dụng trực tiếp biến môi trường của shell hiện tại, vì vậy nếu bạn cd trong {} thì sau thoát khi ra ngoài, mọi thứ sẽ thay đổi.

Comments

comments

Leave a Reply

Or

Your email address will not be published. Required fields are marked *