Sau khi thiết lập công việc định kỳ, tôi đang cố gắng: tự động kích hoạt dịch vụ cron khi tôi mở ứng dụng Windows subsystem cho Linux Ubuntu 16.04 từ Windows App Store.
Hiện tại tôi đang cố gắng đạt được mục tiêu đó bằng cách mô phỏng:
- Mở Ubuntu WSL
- đi vào
sudo service cron start
<enter>
Để làm điều đó, tôi đã định vị ubfox1604.exe, tự mình làm chủ và cho phép tôi đọc ghi và mở ubfox1604.exe.
Tiếp theo, tôi mở cmd
trong chế độ quản trị viên, duyệt đến: C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc
và nhập: ubuntu1604.exe
để xác minh rằng tôi có thể mở WSL ub Ubuntu từ cmd mà không cần phải nhắc bất cứ điều gì. Tôi đã, vì nó chỉ mở Ubuntu trong cùng một cmd
cửa sổ (hiển thị nhờ màu xanh lá cây <user>@<pcname>:~$
được hiển thị trong cmd
).
Tiếp theo, tôi đã cố gắng truyền một đối số cho WSL Ubuntu trong khi mở nó bằng:
ubuntu1604.exe run echo "hello world"
ubuntu1604.exe echo "hello world"
ubuntu1604.exe -c echo "hello world"
ubuntu1604.exe -c
Tuy nhiên:
- Trả về
hello world
nhưng không mở WSL ubfox. - Trả về một dạng tài liệu về cách Khởi chạy một bản phân phối Linux (đính kèm trong hình bên dưới).
- Trả về
hello world
nhưng không mở WSL ubfox. - Mở Ubuntu ở vị trí của đường dẫn cmd hiện tại, nhưng không thực thi
Vì vậy, sau đó tôi đã cố gắng mở nó từ một tập lệnh bó hoặc tập lệnh powershell với:
- Kịch bản hàng loạt
test1.bat
:
start /d "C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc" ubuntu1604.exe echo "hello world"
Kịch bản hàng loạt:
test2.bat
Process.Start("C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc\ubuntu1604.exe", "echo "hello world"");
Kịch bản Powershell:
test3.ps1
Process.Start("C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc\ubuntu1604.exe", "echo "hello world"");
- Tập lệnh Powershell:
test4.ps1
Process.Start ("C: \ Chương trình tập tin \ WindowsApps \ CanonicalgroupLrict.Ub Ubuntu16.04onWindows_1604.2018.510.0_x64__79rhkp1fndgsc \ ub Ubuntu1604.exe", echo "hello world");
Tuy nhiên:
- Mở một màn hình lớn màu đen và đóng lại trong nháy mắt.
- Process.Start không được công nhận là lệnh nội bộ hoặc bên ngoài
- Không có trong ngôn ngữ powershell
- Không có trong ngôn ngữ powershell.
Bây giờ tôi biết có lẽ tùy chọn vượt qua bất kỳ argum nào có thể thực thi lệnh mà không có sự tương tác của người dùng khi khởi động WSL ub Ubuntu1604 có thể bị vô hiệu hóa vì đây là một ứng dụng của cửa hàng ứng dụng (hoặc vì bất kỳ lý do nào khác).
Do đó:
- Nếu bất cứ ai biết liệu cú pháp của tôi có đúng không nhưng ý định của tôi
sẽ không thể thực hiện được theo cách này, xin vui lòng cho tôi biết. - Nếu có thể nhưng tôi đang làm sai, tôi sẽ đánh giá cao bất kỳ phản hồi nào về những gì tôi đang làm sai, hoặc một giải pháp thực hiện đúng.