if (condition)statement1elsestatement2
statement1 is executed if the condition expression is non-zero. The statement2 is executed if the condition expression is zero. The else clause (else statement2) is optional. Both statement1 and statement2 can be statement blocks.global countread, countnonreadprobe kernel.function("vfs_read"),kernel.function("vfs_write"){ if (probefunc()=="vfs_read") countread ++ else countnonread ++}probe timer.s(5) { exit() }probe end{ printf("VFS reads total %d\n VFS writes total %d\n", countread, countnonread)}vfs_read) and writes (vfs_write) the system performs within a 5-second span. When run, the script increments the value of the variable countread by 1 if the name of the function it probed matches vfs_read (as noted by the condition if (probefunc()=="vfs_read")); otherwise, it increments countnonread (else {countnonread ++}).while (condition)statement
condition is non-zero the block of statements in statement are executed. The statement is often a statement block and it must change a value so condition will eventually be zero.for (initialization;conditional;increment)statement
for loop is simply shorthand for a while loop. The following is the equivalent while loop:initializationwhile (conditional) {statementincrement}
== ("is equal to"), you can also use the following operators in your conditional statements: