is printf valid on all UNIXes?

Jiri Kremser jkremser at redhat.com
Mon Jun 17 16:44:42 UTC 2013


It is POSIX [1] so it should be on all *NIXes
jk

[1] http://www.unix.com/man-page/POSIX/1posix/printf/


----- Original Message -----
> From: "John Mazzitelli" <mazz at redhat.com>
> To: "rhq-devel" <rhq-devel at lists.fedorahosted.org>
> Sent: Monday, June 17, 2013 4:40:35 PM
> Subject: is printf valid on all UNIXes?
> 
> I see some pretty print fixes to rhq-agent-wrapper.sh and rhq-server.sh -
> things like:
> 
> +        _STATUS=`printf "%-30s (no pid file) IS NOT running" "RHQ Agent"`
> 
> Are we sure printf is a valid command on ALL UNIXes we support - AIX,
> Solaris, etc. etc. etc.?
> 
> ----- Forwarded Message -----
> From: "Jiri Kremser" <jkremser at fedoraproject.org>
> To: rhq-commits at lists.fedorahosted.org
> Sent: Monday, June 17, 2013 6:37:22 AM
> Subject: [rhq] modules/enterprise
> 
>  modules/enterprise/agent/src/etc/rhq-agent-wrapper.sh
>  |    8 +++---
>  modules/enterprise/server/appserver/src/main/bin-resources/bin/rhq-server.sh
>  |   12 +++++-----
>  modules/enterprise/server/server-control/src/main/java/org/rhq/server/control/command/Status.java
>  |    5 +---
>  3 files changed, 12 insertions(+), 13 deletions(-)
> 
> New commits:
> commit 5d5ecc82883b17707a98f1d807e59512c1d3d8e1
> Author: Jirka Kremser <jkremser at redhat.com>
> Date:   Mon Jun 17 12:01:30 2013 +0200
> 
>     Pretty formatting for rhqctl status command.
> 
> diff --git a/modules/enterprise/agent/src/etc/rhq-agent-wrapper.sh
> b/modules/enterprise/agent/src/etc/rhq-agent-wrapper.sh
> index 44aec8a..265e6da 100755
> --- a/modules/enterprise/agent/src/etc/rhq-agent-wrapper.sh
> +++ b/modules/enterprise/agent/src/etc/rhq-agent-wrapper.sh
> @@ -46,7 +46,7 @@ check_status ()
>          _PID=`cat "${_PIDFILE}"`
>          check_status_of_pid $_PID
>      else
> -        _STATUS="RHQ Agent (no pidfile) is NOT running"
> +        _STATUS=`printf "%-30s (no pid file) IS NOT running" "RHQ Agent"`
>          _RUNNING=0
>      fi
>  }
> @@ -59,10 +59,10 @@ check_status ()
>  check_status_of_pid ()
>  {
>      if [ -n "$1" ] && kill -0 $1 2>/dev/null ; then
> -        _STATUS="RHQ Agent (pid $1) is running"
> +        _STATUS=`printf "%-30s (pid %-7s) IS running %s" "RHQ Agent" $1`
>          _RUNNING=1
>      else
> -        _STATUS="RHQ Agent (pid $1) is NOT running"
> +        _STATUS=`printf "%-30s (pid %-7s) IS NOT running" "RHQ Agent" $1`
>          _RUNNING=0
>      fi
>  }
> @@ -345,7 +345,7 @@ case "$1" in
>          ;;
>  
>  'status')
> -        echo $_STATUS
> +        echo "$_STATUS"
>          exit 0
>          ;;
>  
> diff --git
> a/modules/enterprise/server/appserver/src/main/bin-resources/bin/rhq-server.sh
> b/modules/enterprise/server/appserver/src/main/bin-resources/bin/rhq-server.sh
> index 8e4cc01..385997f 100755
> ---
> a/modules/enterprise/server/appserver/src/main/bin-resources/bin/rhq-server.sh
> +++
> b/modules/enterprise/server/appserver/src/main/bin-resources/bin/rhq-server.sh
> @@ -149,28 +149,28 @@ check_status ()
>      if [ -f "$_SERVER_PIDFILE" ]; then
>          _SERVER_PID=`cat "$_SERVER_PIDFILE"`
>          if [ -n "$_SERVER_PID" ] && kill -0 $_SERVER_PID 2>/dev/null ; then
> -            _SERVER_STATUS="RHQ Server (pid $_SERVER_PID) is $1"
> +            _SERVER_STATUS=`printf "%-30s (pid %-7s) IS %s" "RHQ Server"
> $_SERVER_PID $1`
>              _SERVER_RUNNING=1
>          else
> -            _SERVER_STATUS="RHQ Server (pid $_SERVER_PID) is NOT running"
> +            _SERVER_STATUS=`printf "%-30s (pid %-7s) IS NOT running" "RHQ
> Server" $_SERVER_PID`
>              _SERVER_RUNNING=0
>          fi
>      else
> -        _SERVER_STATUS="RHQ Server (no pid file) is NOT running"
> +        _SERVER_STATUS=`printf "%-30s (no pid file) IS NOT running" "RHQ
> Server"`
>          _SERVER_RUNNING=0
>      fi
>  
>      if [ -f "$_JVM_PIDFILE" ]; then
>          _JVM_PID=`cat "$_JVM_PIDFILE"`
>          if [ -n "$_JVM_PID" ] && kill -0 $_JVM_PID 2>/dev/null ; then
> -            _JVM_STATUS="JBossAS Java VM child process (pid $_JVM_PID) is
> $1"
> +            _JVM_STATUS=`printf "%-30s (pid %-7s) IS %s" "JBossAS Java VM
> child process" $_SERVER_PID $1`
>              _JVM_RUNNING=1
>          else
> -            _JVM_STATUS="JBossAS Java VM child process (pid $_JVM_PID) is
> NOT running"
> +            _JVM_STATUS=`printf "%-30s (pid %-7s) IS NOT running" "JBossAS
> Java VM child process" $_SERVER_PID`
>              _JVM_RUNNING=0
>          fi
>      else
> -        _JVM_STATUS="JBossAS Java VM child process (no pid file) is NOT
> running"
> +        _JVM_STATUS=`printf "%-30s (no pid file) IS NOT running" "JBossAS
> Java VM child process"`
>          _JVM_RUNNING=0
>      fi
>  }
> diff --git
> a/modules/enterprise/server/server-control/src/main/java/org/rhq/server/control/command/Status.java
> b/modules/enterprise/server/server-control/src/main/java/org/rhq/server/control/command/Status.java
> index 83bc293..25e7c1d 100644
> ---
> a/modules/enterprise/server/server-control/src/main/java/org/rhq/server/control/command/Status.java
> +++
> b/modules/enterprise/server/server-control/src/main/java/org/rhq/server/control/command/Status.java
> @@ -131,12 +131,11 @@ public class Status extends ControlCommand {
>  
>              File storageBinDir = new File(getStorageBasedir(), "bin");
>              File pidFile = new File(storageBinDir, "cassandra.pid");
> -
>              if (pidFile.exists()) {
>                  String pid = StreamUtil.slurp(new FileReader(pidFile));
> -                System.out.println("RHQ storage node (pid " + pid + ") is
> running");
> +                System.out.println(String.format("%-30s", "RHQ Storage
> Node") + " (pid " + String.format("%-7s", pid) + ") IS running");
>              } else {
> -                System.out.println("RHQ storage node (no pid file) is NOT
> running");
> +                System.out.println(String.format("%-30s", "RHQ Storage
> Node") + " (no pid file) IS NOT running");
>              }
>          }
>      }
> 
> 
> _______________________________________________
> rhq-commits mailing list
> rhq-commits at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/rhq-commits
> _______________________________________________
> rhq-devel mailing list
> rhq-devel at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/rhq-devel
>


More information about the rhq-devel mailing list