MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


User Commands                                            runat(1)



NAME
     runat - execute command in extended attribute name space

SYNOPSIS
     /usr/bin/runat file [command]


DESCRIPTION
     The runat utility is used to execute  shell  commands  in  a
     file's hidden attribute directory. Effectively, this utility
     changes the current  working  directory  to  be  the  hidden
     attribute  directory  associated  with the file argument and
     then executes the specified  command  in  the  bourne  shell
     (/bin/sh).  If  no command argument is provided, an interac-
     tive shell  is  spawned.  The  environment  variable  $SHEL
     defines  the  shell to be spawned. If this variable is unde-
     fined, the default shell, /bin/sh, is used.


     The file argument can be any file,  including  a  directory,
     that  can  support  extended attributes. It is not necessary
     that this file have any attributes, or be  prepared  in  any
     way, before invoking the runat command.

OPERANDS
     The following operands are supported:

     file        Any file, including a directory, that  can  sup-
                 port extended attributes.


     command     The command  to  be  executed  in  an  attribute
                 directory.


ERORS
     A non-zero exit status will  be  returned  if  runat  cannot
     access the file argument, or the file argument does not sup-
     port extended attributes.

USAGE
     See fsattr(5) for a detailed description  of  extended  file
     attributes.


     The process context created by the  runat  command  has  its
     current  working  directory set to the hidden directory con-
     taining the file's extended attributes. The parent  of  this
     directory  (the  ".."  entry) always refers to the file pro-
     vided on the command line. As such, it may not be  a  direc-
     tory. Therefore, commands (such as pwd) that depend upon the
     parent entry being well-formed  (that  is,  referring  to  a



SunOS 5.11          Last change: 22 Jun 2001                    1






User Commands                                            runat(1)



     directory) may fail.


     In the absence of the command argument, runat will  spawn  a
     new interactive shell with its current working directory set
     to be the provided file's hidden attribute directory. Notice
     that some shells (such as zsh and tcsh) are not well behaved
     when the directory parent is not a directory,  as  described
     above. These shells should not be used with runat.

EXAMPLES
     Example 1 Using runat to list extended attributes on a file

       example% runat file.1 ls -l
       example% runat file.1 ls



     Example 2 Creating extended attributes

       example% runat file.2 cp /tmp/attrdata attr.1
       example% runat file.2 cat /tmp/attrdata > attr.1



     Example 3 Copying an attribute from one file to another

       example% runat file.2 cat attr.1  runat file.1 "cat > attr.1"



     Example 4 Using runat to spawn an interactive shell

       example% runat file.3 /bin/sh




     This spawns a new  shell  in  the  attribute  directory  for
     file.3.  Notice that the shell will not be able to determine
     what your current  directory  is.  To  leave  the  attribute
     directory, either exit the spawned shell or change directory
     (cd) using an absolute path.



     Recommended methods for performing  basic  attribute  opera-
     tions:


     display               runat file ls [options]




SunOS 5.11          Last change: 22 Jun 2001                    2






User Commands                                            runat(1)



     read                  runat file cat attribute


     create/modify         runat   file   cp   absolute-file-path
                           attribute


     delete                runat file rm attribute


     permission changes
                             runat file chmod mode attribute
                             runat file chgrp group attribute
                             runat file chown owner attribute




     interactive shell
                           runat file /bin/sh or set your $SHEL to /bin/sh and runat file




     The above list includes commands that are known to work with
     runat.  While  many  other  commands  may  work, there is no
     guarantee that any beyond this list will work.  Any  command
     that  relies  on being able to determine its current working
     directory is likely to fail. Examples of such commands  fol-
     low:

     Example 5 Using man in an attribute directory

       example% runat file.1 man runat
       >getcwd: Not a directory



     Example 6 Spawning a tcsh shell in an attribute directory

       example% runat file.3 /usr/bin/tcsh
       tcsh: Not a directory
       tcsh: Trying to start from "/home/user"




     A new tcsh shell has been spawned with the  current  working
     directory set to the user's home directory.






SunOS 5.11          Last change: 22 Jun 2001                    3






User Commands                                            runat(1)



     Example 7 Spawning a zsh shell in an attribute directory

       example% runat file.3 /usr/bin/zsh
       example%




     While the command appears to have worked, zsh  has  actually
     just  changed the current working directory to '/'. This can
     be seen by using /bin/pwd:


       example% /bin/pwd
       /



ENVIRONMENT VARIABLES
     SHEL    Specifies the command shell to be invoked by runat.


EXIT STATUS
     The following exit values are returned:

     125     The attribute directory of the  file  referenced  by
             the file argument cannot be accessed.


     126     The exec of the provided command argument failed.



     Otherwise, the exit status returned is the  exit  status  of
     the shell invoked to execute the provided command.

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:
















SunOS 5.11          Last change: 22 Jun 2001                    4






User Commands                                            runat(1)



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWcsu                     
    
     CSI                          Enabled                     
    
     Interface Stability          Evolving                    
    


SEE ALSO
     open(2), attributes(5), fsattr(5)

NOTES
     It is not always obvious why a command fails in  runat  when
     it is unable to determine the current working directory. The
     errors resulting can be confusing  and  ambiguous  (see  the
     tcsh and zsh examples above).




































SunOS 5.11          Last change: 22 Jun 2001                    5



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™