Re: [linux-programming] stdout dan stderr
On 30-12-2003 10:22 AM Togu Raja Tamba wrote: Saya baru saja membaca Documentasi PostgreSQL 7.4 khususnya pada bagian Server Administration. Di situ saya menemukan istilah stdout dan stderr. Tolong dong diterangkan apa maksud kedua istilah tsb. Di unix (atau C?) selalu ada tiga stream standard (bawaan) yaitu standard output (stdout), standard input (stdin) dan standard error (stderr). stdout adalah stream default tempat keluarnya output (misalnya kalo melakukan printf()), stdin adalah stream default tempat mengambil input (misalnya kalo melakukan getc()), sedangkan stderr adalah stream default yg seharusnya digunakan utk mengeluarkan error messages. Di bash, stdin, stdout dan stderr masing2 diberi nomer file descriptor (fd) yg fixed yaitu 0, 1 dan 2 respectively. Makanya kalo melakukan redirection sering kita lihat seperti: some_command output.txt 21 input.txt 21 artinya fd 2 dijadikan satu dengan fd 1, lalu output.txt artinya fd 1 di-redirect ke file output.txt, nah karena fd 2 dan fd 1 sudah digabung, maka keduanya akan masuk ke output.txt (assuming some_command mengeluarkan output ke stdout dan stderr), sedangkan input.txt artinya isi buffer stdin dengan file input.txt. Cobain aja pake perl yg gampang: #!/usr/bin/perl -- simpen sebagai tes.pl lalu chmod +x print STDOUT ini ke stdout; print STDERR ini ke stderr; print ; # print defaultnya ke STDOUT, artinya ambil dr STDIN Lalu jalanin gini: echo ini dari stdin ke stdout stdin.txt ./tes.pl output.txt 21 stdin.txt ./tes.pl 1stdout.txt 2stderr.txt stdin.txt trus lihat isi file output.txt, stdout.txt dan stderr.txt. HTH, Ronny -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis.php
Re: [linux-programming] stdout dan stderr
On 30-12-2003 12:44 PM Ronny Haryanto wrote: ... stdin adalah stream default tempat mengambil input (misalnya kalo melakukan getc())... Sorry, mungkin contohnya yg lebih pas adalah scanf() ketimbang getc(). Plus, ini ada tambahan link dr computing dictionary yg mungkin membantu. http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?query=stdoutaction=Search Ronny -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis.php
Re: [linux-programming] stdout dan stderr
Dear all, mungkin ilustrasi berikut bisa membantu : misalkan saya mengetikkan : $cat mail_list new_mail 21 nah ini disebut stderr, Anda bisa lihat pesan-pesan error saat melakukan piping dari isi mail_list ke new_mail, jika semuanya berjalan lancar maka pesan error tidak ada (null) Mohon maaf jika saya salah. Thx Kalpin Erlangga Silaen Saya baru saja membaca Documentasi PostgreSQL 7.4 khususnya pada bagian Server Administration. Di situ saya menemukan istilah stdout dan stderr. Tolong dong diterangkan apa maksud kedua istilah tsb. always wanna be better than before -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis.php
Re: [linux-programming] stdout dan stderr
On 30-12-2003 1:04 PM [EMAIL PROTECTED] wrote: mungkin ilustrasi berikut bisa membantu : misalkan saya mengetikkan : $cat mail_list new_mail 21 nah ini disebut stderr, Ini-nya yang mana? stderr itu sebetulnya yg angka 2. Anda bisa lihat pesan-pesan error saat melakukan piping dari isi mail_list ke new_mail, Isi mail_list tidak di-pipe, tapi di-redirect ke new_mail. Piping menggunakan |, dan yg dilakukan oleh shell adalah stdout dr LHS diconnect dg stdin dr RHS. LHS = left hand side, RHS = right hand side dari pipe operator. Dan pesan error (di stderr) pun tidak akan bisa dilihat. Baca penjelasan saya di bawah. jika semuanya berjalan lancar maka pesan error tidak ada (null) stderrnya adalah milik 'cat', dan di contoh di atas anda gabungkan stderr dengan stdout (21), maka kalo ada yg keluar ke stderr akan dimasukin juga ke new_mail karena stdout sudah anda redirect ke new_mail, jelas saja tidak akan keliatan apa2. BTW, penggunaan cat di atas tidak perlu, cukup begini: mail_list new_mail 21 Ronny -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis.php