2010-08-20 49 views
12

Tôi đã tạo một số bí danh bash trong Git Bash trên Windows, để khởi chạy các tệp thi hành từ bash shell.Git Bash: Khởi chạy Ứng dụng qua Bí danh mà không cần treo Bash (WIndows)

Sự cố tôi gặp phải có vẻ như dấu gạch chéo đang chờ mã thoát trước khi nó bắt đầu trả lời lại, vì khi tôi đóng ứng dụng được khởi chạy, nó sẽ bắt đầu nhận lại lệnh.

Có chuyển đổi hoặc thứ gì đó tôi có thể đưa vào bí danh để bash không chờ mã thoát không?

Tôi đang tìm một cái gì đó như thế này ...

alias np=notepad.exe --exit 
+1

bạn đã thử chạy nó bằng & chưa? thay vì làm > notepad.exe > notepad.exe & – George

Trả lời

7

Tôi xác nhận những gì George đề cập trong các ý kiến:

Ra mắt bí danh của bạn với '&' cho phép bạn tiếp tục mà không cần chờ cho mã trở lại.

alt text

Với:

alias npp='notepad.exe&' 

bạn thậm chí sẽ không phải gõ vào '&'.


Nhưng đối với bao gồm các thông số, tôi muốn giới thiệu một kịch bản (thay vì một bí danh) đặt bất cứ nơi nào trong đường dẫn của bạn, trong một tập tin gọi là "npp":

/c/WINDOWS/system32/notepad.exe $1 & 

sẽ cho phép bạn mở bất kỳ tệp nào có "npp anyFile" (không cần '&' cần thiết), mà không cần chờ mã trả lại.

Một kịch bản như:

for file in $* 
do 
    /c/WINDOWS/system32/notepad.exe $file & 
done 

sẽ khởi động một số biên tập viên, mỗi tập tin trong thông số:

npp anyFile1 anyFile2 anyFile3 

sẽ cho phép bạn

+0

Vâng, tôi hiểu, nhưng nếu tôi muốn thực thi notepad để mở một tệp cũng như không chờ mã trả lại? – ctorx

+0

@Matthew: hiểu rồi. Xem câu trả lời cập nhật của tôi. – VonC

4

Thực hiện theo các lệnh với một dấu và (&) để chạy nó ở chế độ nền.

+0

Có thể bao gồm & trong bí danh không? Ví dụ, tôi muốn làm điều này .... alias np = 'notepad.exe $ * &', trong đó $ * là các tham số được chỉ định khi bí danh được sử dụng ... (tên tệp để mở). – ctorx

+0

Nếu bạn chỉnh sửa tệp cấu hình git ('.git/config') trực tiếp (trong phần' bí danh'), bạn có thể thêm '&' ở đó. (Bạn không thể thêm nó từ dòng lệnh vì nó sẽ được hiểu là một phần của lệnh để đặt bí danh, không phải là một phần của bí danh.) – Amber

2

tôi kết hợp các giải pháp của VonC và https://stackoverflow.com/a/7131683/1020871 này để có được một bí danh khởi chạy một tệp thực thi và truyền theo các tham số mà không cần khóa git bash. Thêm dòng sau vào .bashrc:

npp() { 
    notepad++.exe $* & 
} 

startGitk() { 
    gitk $* & 
} 
alias gitk=startGitk 

Bây giờ tôi có thể mở nhiều file notepad ++ như npp .gitignore build.gradle hoặc gitk với đối số tùy chỉnh như gitk test -- .gitignore.

Tôi đã có một bí danh tương tự cho npp như cho gitk nhưng thấy rằng tôi có thể gọi hàm trực tiếp. Tôi cũng có thể gọi startGitk nhưng nó không hoạt động khi tôi đặt tên nó là gitk.

Các vấn đề liên quan