runat man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

runat(1)			 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 interactive
       shell is spawned. The environment variable $SHELL defines the shell  to
       be  spawned. If this variable is undefined, the default shell, /bin/sh,
       is used.

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

OPERANDS
       The following operands are supported:

       file	       Any  file,  including  a	 directory,  that  can support
		       extended attributes.

       command	       The command to be executed in an attribute directory.

ERRORS
       A non-zero exit status will be returned if runat cannot access the file
       argument, or the file argument does not support 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 work‐
       ing directory  set  to  the  hidden  directory  containing  the	file's
       extended	 attributes.  The  parent  of  this directory (the ".." entry)
       always refers to the file provided on the command line. As such, it may
       not  be a directory. Therefore, commands (such as pwd) that depend upon
       the parent entry being well-formed (that is, referring to a  directory)
       may fail.

       In the absence of the command argument, runat will spawn a new interac‐
       tive 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 direc‐
       tory 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 operations:

       display

	   runat file ls [options]

       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 $SHELL 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 follow:

       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.

       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
       SHELL	       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.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE 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.10			  22 Jun 2001			      runat(1)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net