The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

runat (1)
  • >> runat (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  •  

    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 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 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 working 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 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 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 TYPEATTRIBUTE VALUE

    AvailabilitySUNWcsu

    CSI

    Interface Stability

     

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


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    OPERANDS
    ERRORS
    USAGE
    EXAMPLES
    ENVIRONMENT VARIABLES
    EXIT STATUS
    ATTRIBUTES
    SEE ALSO
    NOTES


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру