GNU/Linux >> Belajar Linux >  >> Ubuntu

Ada Kesalahan Membuat Proses Anak Untuk Terminal Ini?

Saya menggunakan Ubuntu sejak versi 10.04 dan merasa lebih ramah dibandingkan dengan Windows. Saat ini saya menggunakan 'Precise 12.04`. Saya telah membuat banyak peluncur khusus untuk skrip bash, dan tidak pernah mengalami masalah sampai kemarin.

Saya telah menginstal rangkaian perangkat lunak yang memiliki beberapa executable. abaqus yang dapat dieksekusi utama terletak di optsoftwaresname dan merupakan tautan simbolis ke abq610i yang dapat dieksekusi di /opt/softwaresname/executables/ .

Exe utama abaqus membutuhkan beberapa argumen baris perintah. Saya menggunakan argumen cae , (yaitu abaqus cae ) tetapi dengan perintah lain untuk merender grafik dalam mode yang lebih baik, maka panggilan terakhir adalah:
XLIB_SKIP_ARGB_VISUALS=1 abaqus cae

Saya membuat alias untuk perintah panjang ini di .bash_rc file sebagai:

alias abaquscae="XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

Semuanya bekerja dengan baik, karena alias menjalankan perangkat lunak. Menjadi juara malas, saya berpikir untuk membuat peluncur dermaga Kairo untuk ini. Jadi saya memasukkan abaquscae di kotak "perintah untuk meluncurkan saat klik" dan centang "Jalankan di terminal". Namun yang membuat saya kecewa, setelah mengklik peluncur itu memberikan kesalahan::

There was an error creating the child process for this terminal
Failed to execute child process "abaquscae" (No such file or directory)

Akibatnya saya menulis file skrip bash kecil "abaquscae.sh":

#!/bin/sh
"XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

dan disimpan, membuatnya dapat dieksekusi dan setelah menjalankannya di bash Shell saya kembali mendapatkan kesalahan yang sama, yaitu :

./abaquscae.sh: 2: ./abaquscae.sh: XLIB_SKIP_ARGB_VISUALS=1 abaqus cae: not found 

Sekarang saya benar-benar tersesat, saya telah mencoba banyak trik mis.
1- menghapus koma di skrip bash,
2- menjadikannya dos2unix ,
3- menggunakan path lengkap ke yang dapat dieksekusi
tetapi skrip ini tidak berjalan melalui terminal bash.

MASALAH:

Perintah (serta aliasnya) berfungsi dengan baik di terminal bash, namun ketika dijalankan melalui beberapa saluran lain (mis. skrip/peluncur) terminal gagal mengenalinya ..

Jika ada pakar yang memiliki saran/informasi tentang cara mengatasi masalah ini, silakan bagikan. Saya akan sangat berterima kasih.

Jawaban yang Diterima:

Saya pikir skripnya harus seperti ini:

#!/bin/bash
XLIB_SKIP_ARGB_VISUALS=1 /opt/softwaresname/abaqus cae

Anda juga dapat membuat peluncur menggunakan perintah berikut:

bash -c 'XLIB_SKIP_ARGB_VISUALS=1 /opt/softwaresname/abaqus cae'

Mengatur variabel lingkungan sebelum nama file yang dapat dieksekusi di baris perintah adalah fitur shell CLI (Command Line Interface). Jika Anda memasukkan VARIABLE=value /path/to/executable di peluncur, program yang membaca peluncur (dan secara efektif meluncurkan yang dapat dieksekusi) akan mencoba menemukan file bernama “VARIABLE=value” dan, tentu saja, akan gagal.

Terkait:skrip startup untuk Unity Desktop?

Perintah itu meluncurkan bash , shell pengguna default di Ubuntu, dan suruh untuk mengeksekusi (-c option) string “XLIB_SKIP_ARGB_VISUALS=1 /opt/softwaresname/abaqus cae”, sehingga akan ditafsirkan seperti saat Anda mengetiknya di CLI.


Ubuntu
  1. Periksa Proses Jika Sama Sedang Berjalan?

  2. Daftar Semua Opsi Konfigurasi yang Mungkin Untuk Lightdm?

  3. Solusi untuk kesalahan boot Ubuntu “Tidak ada partisi seperti itu”

  1. Apakah Mereka Hanya Menghapus Pengaturan Latar Belakang Untuk Terminal?

  2. Perbedaan Antara Simbol '&&' Dan ';' Di Terminal Bash Standar?

  3. Apakah Ada Penginstal Wubi Untuk Versi Dvd Ubuntu?

  1. Jadikan File Bat Tersedia Di Mana Saja Untuk Terminal?

  2. Apakah Ada Rencana Untuk Pengguliran Halus di Seluruh Sistem?

  3. File .desktop. Ada Kesalahan Meluncurkan Aplikasi?