Re: [linux-programming] stdout dan stderr

2003-12-29 Terurut Topik Ronny Haryanto
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

2003-12-29 Terurut Topik Ronny Haryanto
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

2003-12-29 Terurut Topik kalpin
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

2003-12-29 Terurut Topik Ronny Haryanto
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