Điểm:0

Tham khảo tất cả các đường dẫn trong tập lệnh linux đơn lẻ - giống như tệp tiêu đề để có tính di động tốt hơn

lá cờ br

Người mới sử dụng Shell Scripting tại đây.

Xin vui lòng chịu với tôi.

Linux 3.0.101-108.87-mặc định x86_64

Tôi có Script1.sh đó là các thư mục tham chiếu. Tôi đang cố gắng đưa tất cả các đường dẫn này vào tập lệnh trong một tiêu đề.sh và sau đó tham khảo tiêu đề.sh Trong Script1.sh

Tôi đang làm điều này ngay bây giờ

Script1.sh
 
setenv SCRIPT /../site/SCRIPTS
setenv TOP /../site/TOP
setenv SUB1 /../site/../.../SUB1
setenv SUB2 /../site/../.../SUB2
setenv SUB3 /../site/../.../SUB3
setenv SUB4 /../site/../.../SUB4
setenv SUB5 /../site/../.../SUB5

Thay vào đó tôi muốn làm một cái gì đó như thế này

Script1.sh 

bao gồm tiêu đề.sh

và headerscript.sh sẽ trông như thế này

tiêu đề.sh

setenv SCRIPT /../site/SCRIPTS
setenv TOP /../site/TOP
setenv SUB1 /../site/../.../SUB1
setenv SUB2 /../site/../.../SUB2
setenv SUB3 /../site/../.../SUB3
setenv SUB4 /../site/../.../SUB4
setenv SUB5 /../site/../.../SUB5

Điều này cho phép tôi tạo tập lệnh theo mô-đun bằng cách chỉ bao gồm tiêu đề.sh trong tập lệnh khác và dễ gỡ lỗi hơn.

Tôi nên làm gì?

Tôi không muốn đưa cái này vào .alias

Displayname avatar
lá cờ br
Đã cập nhật - cảm ơn vì đã sửa
guiverc avatar
lá cờ cn
Bạn đã không đề cập đến hệ điều hành và bản phát hành của mình, tuy nhiên với hạt nhân * được hỗ trợ* cũ nhất cho các hệ thống theo chủ đề ở đây hiện tại là 4.15, hệ thống của bạn có vẻ rất cũ (3.0 là từ hệ thống dựa trên năm 2011, một thập kỷ trước) vì vậy tôi hy vọng bạn hệ thống đang ngoại tuyến.
lá cờ vn
Ý của bạn là [bao gồm một tệp từ một tệp khác](https://stackoverflow.com/a/192305/4970442)?
Điểm:1
lá cờ pl

Để "bao gồm" một tập lệnh từ tập lệnh khác, bạn nên sử dụng . (toán tử dấu chấm) hoặc nguồn (tùy thuộc vào vỏ của bạn).

Vì vậy, bạn sẽ sử dụng trong Script1.sh

. tiêu đề.sh

Người giới thiệu:

https://unix.stackexchange.com/questions/309768/source-vs-why-different-behaviour

https://stackoverflow.com/questions/20094271/using-dot-or-source-while-calling-another-script-what-is-the-difference

https://ss64.com/bash/source.html#:~:text=source%20is%20a%20synonym%20for,available%20after%20the%20script%20completes.

Displayname avatar
lá cờ br
Script Hoạt động như dự định. Cảm ơn bạn rất nhiều :)

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