Saya memiliki permainan berbasis teks, Petualangan Gua Kolosal, yang ingin saya luncurkan dengan skrip shell alih-alih membuka terminal dan mengetik cd ~/Desktop/CCA
dan ./Adventure
. Kode yang saya coba gunakan adalah ini:
#! /bin/bash
gnome-terminal -e 'cd ~/Desktop/CCA/; ./Adventure'
dan pesan yang saya terima adalah ini:
There was an error creating the child process for this terminal
Failed to execute child process `cd` (No such file or directory)
dengan opsi untuk mengubah preferensi profil atau meluncurkan kembali proses. Saya juga telah mencoba menggunakan jalur absolut alih-alih ~/
, dan semua nama file saya dieja dengan benar dan menunjuk ke tempat yang tepat. Apa yang salah?
gnome-terminal
Giaphage47
sumber
sumber
cd
itu bukan perintah.cd
tentu adalah perintah! Itu yang dikenal sebagai perintah shell builtin , seperti yang dinyatakan oleh jawaban Hastur dengan benar. Perintah builtin shell sering disebut "shell builtin" atau "builtin" untuk jangka pendek, tetapi mereka benar-benar perintah. Apacd
yang bukan merupakan perintah eksternal . Ubuntu tidak memilikicd
program (dan jika benar, menjalankannya masih tidak akan memiliki efek mengubah direktori di shell dari mana Anda menjalankannya ). @ Giaphage47Kesalahannya
Failed to execute child process "cd" (No such file or directory)
muncul karena
cd
merupakan salah satuSHELL BUILTIN COMMANDS
dan bukan yang dapat dieksekusi yang Anda temukan secara fisik di Hard Disk Anda.Untuk menjalankannya atau
built-in
perintah lain dalam skrip Anda, Anda harus meneruskan semua baris ke abash
doaJika tidak ada perintah internal lain yang harus Anda jalankan, Anda dapat mengatur direktori kerja untuk
gnome terminal
, seperti yang baru saja dijawab di sini :Ad mual : ada beberapa alternatif:
Jika Anda hanya berada di terminal, Anda dapat melakukannya
sebuah
alias
sepertialias Star_My_Game="cd ~/Desktop/CCA; ./Adventure "
dan memasukkannya ke dalam Anda
.bashrc
atau di~/.bash_aliases
sehingga Anda akan dapat menjalankan dengan perintah tunggalStart_My_Game
di setiap shell Anda akan (Ini lebih nyaman untuk memilih nama sederhana / pendek daripada Start_My_Game ...)atau skrip yang dapat Anda buat dapat dieksekusi (
chmod u+x MYscript
) dan dimasukkan ke dalampath
(tip Anda~/bin
adalah kandidat yang baik)Saya kira Anda dapat meletakkan tautan di desktop Anda yang menjalankan terminal dan memodifikasi perilaku awal. Dari bantuan gnome
Pilih Edit ▸ Preferensi Profil ▸ Judul dan Perintah.
Centang Jalankan perintah khusus alih-alih shell saya.
Di kotak teks, ketikkan perintah atau shell yang diinginkan.
Perintah akan diteruskan ke terminal persis seperti yang Anda tulis, termasuk argumen apa pun yang Anda tentukan. Variabel lingkungan akan diwarisi dari terminal karena merupakan proses turunan dari terminal.
Buka tab atau jendela Terminal baru untuk melihat bagaimana shell atau perintah kustom dijalankan
sumber
alias
(lebih nyaman) atau skrip di direktori ~ / bin Anda, tanpa harus meluncurkan terminal barucd
tetapi Anda harus meneruskannyabash
. Beri dia cek :) -