Saya dapat membuat skrip yang dapat diklik, dengan mengubah .sh
ekstensi menjadi .tool
(atau .command
). Namun ketika saya melakukan ini, jalur yang saya miliki di skrip saya rusak.
Saya mencoba menjalankan dotnet
aplikasi inti dan skrip shell saya sederhana:
#!/bin/bash
dotnet ${PWD}/OUTPUT/Calculator.dll
Di mana OUTPUT adalah nama folder dengan file rilis dotnet di dalamnya.
jika skrip adalah .sh
file, skrip berjalan, tetapi kemudian pengguna akhir harus pergi ke terminal dan ketik ./runscript.sh
atau apa pun yang saya sebut itu.
Hal lain yang saya perhatikan adalah sepertinya output dari aplikasi menghilangkan ruang yang berubah:
dotnet ${PWD}/OUTPUT/Calculator.dll
ke:
dotnet-${PWD}/OUTPUT/Calculator.dll
Bagaimana cara membuatnya agar jalur saya di skrip tidak putus ketika saya mengubahnya menjadi ekstensi .tool?
MEMPERBARUI:
Seperti jawaban yang disarankan, saya telah mencoba keduanya:
dotnet ~/OUTPUT/Calculator
Ini menghasilkan:
Tidak ditemukan perintah yang cocok dengan eksekusi "dotnet- / Users / jeff_mba / OUTPUT / Calculator"
dan:
dotnet\ ~/OUTPUT/Calculator
yang menghasilkan:
/ Pengguna /jeff_mba/Projects/calctest/runcalc.command: baris 3: dotnet ~ / OUTPUT / Kalkulator: Tidak ada file atau direktori
Jadi ada masalah jarak, tetapi jika saya melarikan diri dari ruang itu masih mengatakan proyek tidak ditemukan
Tetapi sesuai tangkapan layar itu benar-benar ada.
sumber
Jawaban:
Anda hanya perlu menyediakan path lengkap ke DLL dalam skrip.
Ketika Anda menjalankan skrip dari Terminal.app, variabel lingkungan PWD berisi path ke folder tempat Anda saat ini ditempatkan. Yaitu jika Anda menggunakan cd untuk pindah ke folder lain, variabel lingkungan PWD secara otomatis diperbarui agar sesuai.
Saat Anda menggunakan GUI dan mengklik dua kali ikon, Anda tidak benar-benar "di" folder tertentu pada saat itu. Jadi konsep yang sama dari variabel lingkungan PWD yang melacak pergerakan Anda tidak masuk akal.
Alih-alih, cukup sediakan path lengkap dalam skrip, seperti:
Di sini ~ berarti folder rumah pengguna yang saat ini masuk.
sumber