[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Kde и aliases



On Wed, 19 Apr 2006 17:11:38 +0300 Sergey Brutsky wrote:

 SB> Сделал следующее: создал у себя файлик testbash с содержимым
 SB> #!/bin/bash
 SB> source /home/sir_j/.bash_profile

 SB> в /etc/environment
 SB> добавил
 SB> export BASH_ENV='/home/sir_j/testbash'

 SB> рестартанул kde
 SB> выполняю Win+R --> echo $BASH_ENV в терминале значение отображается
 SB> echo <любая переменная из /home/sir_j/.bash_profile> тоже есть
 SB> но алиасы все равно не работают, т. е. даже по команде alias (Win + R
 SB> --> alias выполнять в терминале)  ничего нет :(

       Aliases  are  not  expanded  when  the  shell is not interactive, unless the expand_aliases shell
       option is set using shopt (see the description of shopt under SHELL BUILTIN COMMANDS below).

       The rules concerning the definition and use of aliases are somewhat confusing.  Bash always reads
       at  least  one complete line of input before executing any of the commands on that line.  Aliases
       are expanded when a command is read, not when it is executed.   Therefore,  an  alias  definition
       appearing  on  the same line as another command does not take effect until the next line of input
       is read.  The commands following the alias definition on that line are not affected  by  the  new
       alias.   This behavior is also an issue when functions are executed.  Aliases are expanded when a
       function definition is read, not when the function is executed, because a function definition  is
       itself  a  compound  command.   As a consequence, aliases defined in a function are not available
       until after that function is executed.  To be safe, always put alias definitions  on  a  separate
       line, and do not use alias in compound commands.

       For almost every purpose, aliases are superseded by shell functions.

-- 
to my, trociny



Reply to: