Tôi có biến hệ vỏ trỏ đến thư mục chứa tất cả các tệp cấu hình của tôi. Giả sử biến được tạo với export RC=$HOME/rc
. Tôi có tệp bỏ qua chung trong thư mục cấu hình: ~/rc/globalgitignore
.Mở rộng biến dạng vỏ trong cấu hình git
Câu hỏi của tôi là làm cách nào để mở rộng biến số RC
trong tệp .gitconfig
của tôi?
Tôi đã thử như sau:
excludesfile = $RC/globalgitignore
excludesfile = !$RC/globalgitignore
excludesfile = !echo $RC/globalgitignore
excludesfile = !$(echo $RC/globalgitignore)
Không có giải pháp nào trong số này hoạt động.
Cách duy nhất hoạt động nếu tôi nhập đường dẫn đầy đủ: excludesfile = ~/rc/globalgitignore
, nhưng sau đó tôi phải thay đổi đường dẫn nếu di chuyển thư mục rc
của mình đến một vị trí khác.
Trước đây tôi đã liên kết tất cả các tệp cấu hình từ thư mục 'rc' vào thư mục chính của tôi. Để bỏ qua các liên kết này, tôi đã tạo biến 'RC' và hầu hết các chương trình của tôi sử dụng nó. Bằng cách này, '~' được mở rộng và khi bạn sử dụng bí danh git config ... thì bạn có thể sử dụng lệnh shell và biến mở rộng. – SvenK
@ SvenK: Hãy đọc 'git-config (1)': Thực tế là 'git-config (1)' mở rộng '~' không "tự động" có nghĩa là mở rộng biến hoặc thậm chí các lệnh shell cũng được hỗ trợ. '~' được * xử lý đặc biệt * bởi 'git-config' nếu và chỉ khi một giá trị là * được lấy ra với bộ định kiểu kiểu' --path' *. Đây là kiểu mở rộng * duy nhất * được hỗ trợ bởi 'git-config'. Tôi đã cập nhật câu trả lời của mình để bao gồm các phần liên quan từ 'git-config (1)' – lunaryorn
Đây là một chút bực bội, vì tôi không thể chỉ định biến môi trường proxy http của tôi cho toàn bộ hệ thống của mình; Tôi phải cho một số lý do xác định nó trong gitconfig của tôi là tốt. Khá khó chịu cho những người không làm việc ở nhà hoặc một cửa hàng nhỏ, và/hoặc những người ngồi trên các mạng khác nhau tùy thuộc vào nơi họ đang làm việc. –