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 -aopsi untuk execperintah bawaan mereka .)
execline
Laurent Bercot'sexecline datang dengan sebuah execperintah . Jadi untuk menduplikasi contoh M. Chazelas seseorang akan memiliki execlineskrip seperti
#! / command / execlineb -P
exec -a zzz ps -f
Bercot's execadalah 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 execuntuk 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 execperintah. Untuk menduplikasi contoh M. Chazelas, orang akan memiliki noshskrip seperti
#! / bin / nosh
exec -a zzz ps -f
Walaupun merupakan noshbuilt-in, ini execadalah 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 execuntuk 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 runargv0perintah . 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 execuntuk 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 chpstperintah . 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 execuntuk overlay dengan runit chpst, yang pada gilirannya akan menetapkan argumen 0 dan overlay dengan program target:
exec chpst -b "$ argv0" printer.sh
runitenggan beralih kesystemd, saya sangat senang diperkenalkannosh. Terimakasih banyak!