Điểm:3

Câu hỏi về hành vi bash với chế độ không tương tác

lá cờ pl

Tôi về cơ bản cần phải hiểu các hành vi sau đây:

$ tiếng vang $SHELL
/bin/bash
$ bash -c tiếng vang $SHELL

bash -c tiếng vang $SHELL tạo ra một đầu ra trống và điều này làm tôi bối rối vì tôi mong đợi SHELL được đặt. Điều này cũng đúng với $BASH_VERSION.

Ai đó có thể giải thích điều này với tôi?

Cảm ơn vì đã dành thời gian cho tôi!

Điểm:7
lá cờ hr

Từ người đàn ông bash:

   -c Nếu có tùy chọn -c, thì các lệnh được đọc từ
             đối số không phải tùy chọn đầu tiên command_string. Nếu có tranh luận
             ment sau command_string, đối số đầu tiên là asâ
             được ký vào $0 và mọi đối số còn lại được gán cho
             tham số vị trí.

Trong bash -c tiếng vang $SHELL, các "đối số không tùy chọn đầu tiên"tiếng vang, trong khi $SHELL được mở rộng bởi trình bao tương tác hiện tại của bạn và được chuyển đến đánh đập như tham số vị trí $0. Từ tiếng vang không có đối số chính nó, tiếng vang bash -c in ra một chuỗi rỗng. Trong khi đó, $0 được đặt thành /bin/bash nhưng bỏ qua.

Tùy thuộc vào những gì bạn đang cố gắng làm, bạn có thể làm

bash -c 'tiếng vang $SHELL'

vượt qua tiếng vang $SHELL như lệnh_string đến shell bash không tương tác (xuất giá trị của shell không tương tác $SHELL), hoặc

bash -c 'echo $0' $SHELL

vượt qua (sự mở rộng) của vỏ tương tác $SHELL đến vỏ bash không tương tác như $0, sau đó lặp lại giá trị của nó.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.