[ 
https://issues.apache.org/jira/browse/KARAF-2370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695861#comment-13695861
 ] 

Christophe Vanfleteren commented on KARAF-2370:
-----------------------------------------------

Warning: Karaf newbie speaking here.

The alias command itself is extremely simple, something like the following 
would do:

{code:title=AliasAction.java|borderStyle=solid}
@Command(scope = "shell", name = "alias", description = "Alias a command")
public class AliasAction extends AbstractAction {

    @Argument(index = 0, name="command", description = "The command to alias, 
eg 'ldn = { log:display -n $args }'", required = true, multiValued = false)
    private String alias;

    protected Object doExecute() throws Exception {
        session.execute(alias);

        return null;
    }

}
{code} 


The hard part is the behaviour around the persistence in the shell.init.script 
file.
Adding a new alias is quite simple, just append the entered line to the end of 
the file. But what happens if you redefine an alias? Do we keep the previous 
version in the file also? Do we remove it? 
Do we remove the alias in the shell.init.script file when you call {{alias 
ldn=''}} after calling {{alias 'ldn = \{ log:display -n $args\}'}}? Do we 
always save/remove the aliases or is it an explicit option?

Removing aliases means parsing the script file to find a line that matches and 
remove it. What if there already was more than one line defining that alias? Do 
you delete the last? The first? All of them? 


                
> Add alias command
> -----------------
>
>                 Key: KARAF-2370
>                 URL: https://issues.apache.org/jira/browse/KARAF-2370
>             Project: Karaf
>          Issue Type: New Feature
>          Components: karaf-shell
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>             Fix For: 2.3.2, 2.4.0, 3.0.0
>
>
> Currently, it's possible to create shell aliases by editing 
> etc/shell.init.script. However, we don't provide a command to create aliases 
> "on the fly", like alias on Unix.
> The alias command should enhance the shell console with new aliases and 
> update the etc/shell.init.script file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to