Ini ialah arahan hexec yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
hexec - alat pengait pelaksanaan proses
SINOPSIS
hexec [expr] [cmd] [args...]
DESCRIPTION
hexec ialah alat untuk menyambung ke dalam panggilan pelaksanaan proses (keluarga exec syscalls). Awak boleh
tentukan ungkapan yang dilaksanakan terhadap sebarang panggilan exec yang disambungkan. Ungkapan ini mungkin
juga mengandungi panggilan exec pengganti.
PILIHAN RINGKASAN
Berikut ialah ringkasan pilihan untuk hexec.
--bantuan | -h Cetak halaman ringkasan pilihan/expr
--versi | -v Cetak versi hexec
--log keluar | -lo tetapkan fail output untuk ralat dan -cetak output
PILIHAN
-h Cetak halaman ringkasan pilihan/expr
- membantu Cetak halaman ringkasan pilihan/expr
ia Tetapkan fail output untuk ralat dan -print output. Ini boleh diperlukan jika menulis
kepada stderr boleh menyebabkan kerosakan kerana beberapa proses dibaca daripada stderr dan
mengharapkan output yang jelas.
EKSPRESI
Ungkapan dilaksanakan terhadap semua panggilan pelaksanaan proses. Jika ungkapan itu kembali
benar, panggilan asal dilangkau.
-dan
-a
Mengembalikan benar jika kedua-dua ungkapan kembali benar. Jika kiri kembali palsu, kanan
ungkapan tidak pernah dilaksanakan.
-Atau
-o
Mengembalikan benar jika salah satu daripada kedua-dua ungkapan mengembalikan benar. Jika kiri kembali benar, maka
ungkapan yang betul tidak pernah dilaksanakan.
-jalan
Mengembalikan benar jika laluan boleh laku sepadan . adalah satu bash
corak kad liar yang serasi.
-ipath
Sama seperti -path, tetapi tidak peka huruf besar-besaran.
-yam
Mengembalikan benar jika nama asas boleh laku sepadan . ialah
corak kad liar yang serasi dengan bash.
-Nama Saya
Sama seperti -nama, tetapi tidak peka huruf besar-besaran.
-mengandungi
Mengembalikan benar jika laluan boleh laku mengandungi rentetan .
-mengandungi
Sama seperti -mengandungi, tetapi tidak sensitif huruf besar.
-cetak Cetak semua hujah ke proses yang dipanggil. Pulangan sentiasa benar.
-eksk [args...] ;
Melaksanakan dengan [args...] sebagai hujah. Ungkapan ini mesti ditamatkan dengan
koma bertitik. Anda boleh menggunakan ruang letak hujah dalam dan [args...] (lihat di bawah).
Ungkapan ini sentiasa kembali benar.
NOTA: Sila ambil perhatian bahawa anda mungkin perlu melarikan diri atau memetik penamatan
koma bertitik untuk tidak mengelirukan cangkang anda.
-sh
Mentafsir as a shell script by invoking / Bin / sh dengan hujah-hujah -c
' '. Anda boleh menggunakan ruang letak hujah di dalam . Please note that -sh
hanya menjangkakan satu hujah dan bukan senarai pembolehubah argumen (as -exec
tidak). Menggunakan -sh adalah sama seperti menggunakan -eksk sh -c .
PEMEGANG TEMPAT UNTUK -eksk EXPRESSION
Setiap ungkapan -exec boleh menggunakan ruang letak dalam senarai hujah untuk mendapatkan maklumat
daripada panggilan exec asal. Setiap pemegang tempat bermula dengan { dan berakhir dengan }. Gunakan \{ jika anda
mahu menggunakan { dalam senarai hujah anda. Pemegang tempat diganti apabila -exec
ekspresi dinilai.
Jenis pemegang tempat:
{n} Akan digantikan dengan bilangan argumen dalam panggilan asal.
{ }
Akan digantikan dengan hujah asal di index . Contoh: {1} akan memberi
hujah pertama. Anda boleh prepend dengan bendera pemegang tempat.
{} Akan digantikan dengan semua hujah dari panggilan asal. Setiap hujah adalah
dipisahkan dengan ruang. Anda boleh menggunakan bendera pemegang tempat.
NOTA: Nama boleh laku juga dianggap sebagai hujah. Ini bermakna bahawa panggilan seperti
"ujian gema" akan menghasilkan dua hujah, "gema" dan "ujian".
PEMEGANG TEMPAT BENTUK
s Setiap hujah disisipkan sebagai hujah tunggal dan bukannya menggabungkan semua
hujah-hujah.
Pertimbangkan hujah 'a', 'b' dan 'c'. Tanpa s, -eksk {} \; akan mengakibatkan
-eksk 'a b c' \;, yang dalam banyak kes bukanlah yang anda mahukan. -eksk {s} \; howwer
akan mengakibatkan -eksk 'A' 'b' 'c' \;.
q Petikan setiap hujah.
e Melarikan diri daripada semua aksara bukan alfa angka. Bendera ini sangat berguna apabila menggunakan "sh
-c <...>" dalam ungkapan -exec.
Contoh
-eksk echo {} \; dengan panggilan itu 'A' 'b' 'c'
keputusan dalam: 'gema' 'abc'
-eksk echo {q} \; dengan panggilan itu 'A' 'b' 'c'
keputusan dalam: 'gema' 'a' 'b' 'c'
-eksk sh -c 'gema {}; {}' \; dengan panggilan itu 'sh' '-c' 'gcc dc >> log.txt'
menghasilkan: 'sh' '-c' 'echo sh -c gcc dc >> log.txt; sh -c gcc dc >> log.txt'
Sila ambil perhatian bahawa ini tidak akan melakukan apa yang anda harapkan, kerana >> dikendalikan dengan salah
dalam kes ini.
-eksk sh -c 'gema {e}; {}' \; dengan panggilan itu 'sh' '-c' 'gcc dc >> log.txt'
menghasilkan: 'sh' '-c' 'echo sh \-c gcc\ d\.c\ \>\>\ log\.txt; sh -c gcc dc >>
log.txt'
PERUBAHAN KEPADA PROSES
hexec akan menambah beberapa pembolehubah persekitaran pada proses yang disambungkan. Ini adalah (mungkin tidak
lengkap):
LD_PRELAD
hexec menambah libhexec-hook.so pada senarai perpustakaan yang dipramuat.
HEXEC_EXPR_SHM
Mengandungi nama objek memori kongsi dalaman.
HEXEC_LOG_FD
Mengandungi deskriptor fail untuk ralat dan -print output.
Sila jangan sekali-kali mengubah suai pembolehubah persekitaran ini. Juga berhati-hati apabila anda menggunakan ini
pembolehubah, kerana nama dan kandungan pembolehubah mungkin berubah pada masa hadapan.
CONTOH
hexec -yam 'gcc' -eksk ccache {s} \; membuat
Panggilan dibuat, yang kemudiannya akan memanggil gcc beberapa kali. Nama boleh laku setiap satu
pelaksanaan proses ketagih diuji terhadap corak fail "gcc" dan "ccache {s}"
dipanggil setiap kali perlawanan ditemui. '{s}' akan digantikan dengan yang asal (the
ketagih) panggilan. Dalam contoh ini, panggilan ke "gcc -o test.o test.c" akan diganti
dengan "ccache gcc -o test.o test.c"
BAGAIMANA IT WORKS
SEMUA
Gunakan hexec dalam talian menggunakan perkhidmatan onworks.net