Hãy tưởng tượng tôi có một kịch bản bash, nơi tôi gọi đây là:Có thể lấy mã thoát khỏi một vỏ bọc không?
bash -c "some_command"
do something with code of some_command here
Có thể lấy mã của some_command
? Tôi không thực hiện trực tiếp some_command
trong shell chạy script vì tôi không muốn thay đổi môi trường của nó.
Tôi không chắc chắn về lý do của bạn để thực thi gián tiếp - rằng vỏ con thừa hưởng môi trường từ tập lệnh gọi. Chỉ cần thử 'export FOO =" foo "; bash -c 'echo $ FOO'' (dấu nháy đơn để nó không được mở rộng cho đến khi subshell chạy nó). – Cascabel
Nó kế thừa môi trường, nhưng nó sẽ không thay đổi môi trường cho trình bao hiện tại. Bất kỳ sửa đổi nó sẽ làm cho env. vars sẽ biến mất khi nó chết. – Geo
Nếu bạn muốn chạy một cái gì đó mà không mucking lên vỏ mẹ sau đó tôi muốn sử dụng một subshell, http://tldp.org/LDP/abs/html/subshells.html – slm