Điểm:1

chạy chuỗi lệnh cho kết quả khác với chạy chúng trên tập lệnh

lá cờ fr

đây là kịch bản:

#!/bin/sh
rm -rf git/
mkdir -p git/{c,ds/{bao gồm,kiểm tra},dự án,câu đố,hệ thống_lập trình}
tìm git/ -type d -exec touch {}/dummy.md \;

Đây là kết quả mong muốn:

git/
âââ c
â âââ dummy.md
âââ ds
â âââ dummy.md
â  âââ bao gồm
â  â  âââ dummy.md
â  âââ kiểm tra
â âââ dummy.md
âââ dummy.md
âââ dự án
â âââ dummy.md
âââ câu đố
â âââ dummy.md
âââ system_programming
    âââ dummy.md

7 thư mục, 8 tập tin

Điều đó xảy ra khi tôi chạy riêng từng lệnh một.

Khi tôi chạy tập lệnh, bằng cách thay đổi quyền của nó: chmod +x script_name.sh

Tôi có:

git/
âââ {c,ds
â âââ dummy.md
â âââ {bao gồm,kiểm tra},dự án,câu đố,hệ thống_lập trình}
â âââ dummy.md
âââ dummy.md

2 thư mục, 3 tập tin

Tôi thấy vấn đề là ở mkdir lệnh bằng cách tạo sai hệ thống phân cấp của các thư mục.

Vì vậy, tôi đã kiểm tra chmod chỉ huy,
tôi chạy chmod +x+w script_name.sh nhưng tôi nhận được kết quả tương tự.

Tại sao vậy?
Cảm ơn.

lá cờ cn
Vấn đề của bạn là với she-bang, "sh". bash là thứ mở rộng { và }. Bạn có thể sử dụng bash trên dòng lệnh và /bin/sh được trỏ đến dấu gạch ngang. Sử dụng `#!/bin/bash`,
lá cờ fr
Cảm ơn, điều đó đã giải quyết được vấn đề. Vì vậy, nếu tôi muốn sử dụng một lệnh có `{ }` trong tập lệnh, thì tôi phải sử dụng `#!/bin/bash` thay vì `#!/bin/sh`?
lá cờ fr
@muru Cảm ơn, điều đó đã làm rõ.

Đă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.