Untuk kelengkapan, berikut adalah beberapa program C dan C ++ untuk melakukan ini yang sudah dikompilasi oleh orang.
Pergi dengan komentar yang Anda tunjukkan, motivasi nyata Anda untuk meminta "cara POSIX" untuk melakukan ini adalah untuk mengetahui bagaimana seseorang dapat mencapai tujuan yang sama dengan cangkang seperti cangkang Debian Almquist, cangkang MirBSD Korn (sebelum versi R50e ), shell Biasa-POSIX-Compliant Biasa, dan shell lain yang tidak memiliki ekstensi untuk mengatur argumen ke-0 seperti yang dimiliki Bourne Again dan Z shell. (Shell '93 Korn, dan shell MirBSD Korn dari versi R50e dan seterusnya, mendukung -a
opsi untuk exec
perintah bawaan mereka .)
execline
Laurent Bercot'sexecline
datang dengan sebuah exec
perintah . Jadi untuk menduplikasi contoh M. Chazelas seseorang akan memiliki execline
skrip seperti
#! / command / execlineb -P
exec -a zzz ps -f
Bercot's exec
adalah perintah eksternal yang biasa, tentu saja. Jadi orang dapat menjalankannya dari dalam skrip Debian Almquist Shell. Untuk overlay program shell saat ini, seseorang akan menggunakan shell exec
untuk overlay dengan Bercot exec
, yang pada gilirannya akan menetapkan argumen 0 dan overlay dengan program target:
exec / command / exec -a "$ argv0" printer.sh
tidak
Toolset nosh termasuk exec
perintah. Untuk menduplikasi contoh M. Chazelas, orang akan memiliki nosh
skrip seperti
#! / bin / nosh
exec -a zzz ps -f
Walaupun merupakan nosh
built-in, ini exec
adalah juga diakses sebagai perintah eksternal biasa. Jadi orang dapat menjalankannya dari dalam skrip Debian Almquist Shell. Untuk overlay program shell saat ini, seseorang akan menggunakan shell exec
untuk overlay dengan nosh toolset exec
, yang pada gilirannya akan menetapkan argumen 0 dan overlay dengan program target:
exec / usr / local / bin / exec -a "$ argv0" printer.sh
pelaku
Pelatih Wayne Marshall termasuk sebuah runargv0
perintah . Ini adalah perintah eksternal biasa. Jadi orang dapat menjalankannya dari dalam skrip Debian Almquist Shell. Untuk overlay program shell saat ini, seseorang akan menggunakan shell exec
untuk overlay dengan toolset pel runargv0
, yang pada gilirannya akan menetapkan argumen 0 dan overlay dengan program target:
exec runargv0 printer.sh "$ argv0"
menjalankannya
Runit Gerrit Pape termasuk sebuah chpst
perintah . Ini adalah perintah eksternal biasa. Jadi orang dapat menjalankannya dari dalam skrip Debian Almquist Shell. Untuk overlay program shell saat ini, orang akan menggunakan shell exec
untuk overlay dengan runit chpst
, yang pada gilirannya akan menetapkan argumen 0 dan overlay dengan program target:
exec chpst -b "$ argv0" printer.sh
runit
enggan beralih kesystemd
, saya sangat senang diperkenalkannosh
. Terimakasih banyak!