如何为我们的snap应用取别名alias

原创 2016年12月23日 15:05:32

我们知道,有时我们的snap应用的名称很长,不便于输入.在snap 2.20+和snapcraft 2.24+以后的版本中,我们提供了别名从而使得我们可以用我们喜欢的名字来调用我们的应用.


我们可以参考我们在snapcraft中的一个项目:

https://github.com/snapcore/snapcraft/tree/master/integration_tests/snaps/alias

这个项目的snapcraft.yaml定义如下:


snapcraft.yaml

name: my-alias
version: '0.1'
summary: command alias example
description: |
  Command alias example
grade: devel
confinement: devmode

apps:
  hello:
    command: hello.sh
    aliases: [hi.sh, howdy.sh]

parts:
  aliases:
    plugin: dump
    source: .

在这个应用中,我们为我们的应用my-alias.hello定义了两个别名:hi.sh及howdy.sh.这里的hello.sh的内容如下:

hello.sh

#!/bin/bash

CMD=$(basename "$0")

if [ "$CMD" == "hi.sh" ]; then
    echo "Hi world!"
elif [ "$CMD" == "howdy.sh"  ]; then
    echo "Howdy world!"
else
    echo "Hello world!"
fi

我们打包我们的应用,并安装运行:

liuxg@liuxg:~$ my-alias.hello 
CMD: hello.sh
Hello world!
liuxg@liuxg:~$ hi.sh
bash: /snap/bin/hi.sh: No such file or directory

很显然,我们的别名并没有起作用.这是什么原因呢?其实我们可以使用snap的命令来查看一下帮助信息:

liuxg@liuxg:~$ snap alias -h
Usage:
  snap [OPTIONS] alias [alias-OPTIONS] [<snap>] [<alias>...]

The alias command enables the given application aliases defined by the snap.

Once enabled the respective application commands can be invoked just using the aliases.

Application Options:
      --version      Print the version and exit

Help Options:
  -h, --help         Show this help message

[alias command options]
          --reset    Reset the aliases to their default state, enabled for automatic aliases,
                     disabled otherwise

原来为了能够使得我们的别名能够起作用,我们应该通过命令行来启动它.

liuxg@liuxg:~$ sudo snap alias my-alias hi.sh
[sudo] password for liuxg: 

通过上面的命令,我们就把别名启动了,让后在我们的命令行中直接打入命令:

liuxg@liuxg:~$ hi.sh
CMD: hello.sh
Hello world!

我们可以通过同样的方法来对howdy.sh来操作.

如果我们重置我们的alias,我们可以通过如下的命令来完成:

$ sudo snap alias --reset my-alias hi.sh

我们的alias可以在Ubuntu Store设置在默认的情况下启动,那么这个reset将会恢复最初的默设置.

或者,我们可以通过如下的命令来完成:

$ sudo snap unalias my-alias hi.sh







版权声明:本文为博主原创文章,未经博主允许不得转载。

如何为我们的Snappy Ubuntu应用编译并打包Snap(1)

在今天的这篇文章中,我们来重点介绍如何利用snapcraft来编译我们的应用,并打包我们的应用成为.snap包.由于目前我们的snapcraft还不支持cross-compile,所有我们还需要为我们...
  • UbuntuTouch
  • UbuntuTouch
  • 2015年11月11日 12:27
  • 1337

如何为我们的Snappy Ubuntu应用编译并打包Snap(2)

在我的上一篇文章中,我已经展示了如何在Desktop环境下编译我们的项目并成功部署到我们的KVM环境中.可能有兴趣的开发者们想更一步把我们的项目部署到一个设备中,比如树莓派中,那么我们该怎么做呢?在今...
  • UbuntuTouch
  • UbuntuTouch
  • 2015年11月11日 15:34
  • 1432

如何为我们的Ubuntu Core应用进行设置

当我们完成一个Ubuntu Core应用的时候,可能需要我们的Ubuntu Core应用根据我们的设置需要来配置我们的运行所需要的一些参数,比如,我想确消我们Ubuntu Core系统的自动更新功能,...
  • UbuntuTouch
  • UbuntuTouch
  • 2016年10月31日 13:52
  • 1235

ls命令+文件类型+别名(alias)

一.ls命令的用法 1.    ls -l   列出文件的详细信息 [root@lx02 ~]# ls -l 总用量 4 -rw-------. 1 root root 1418 11月 ...
  • rain_yunlx
  • rain_yunlx
  • 2017年12月15日 16:28
  • 23

Nginx目录别名(Alias)支持PHP的配置

需求:通过 example.com 访问 /var/data/www,但通过 example.com/pa 访问的却是 /var/data/phpmyadmin,即保护phpmyadmin不暴露在ww...
  • wang_quan_li
  • wang_quan_li
  • 2015年06月23日 22:37
  • 621

Postgres中oid alias别名的使用

文章http://blog.csdn.net/shiyibodec/article/details/52447755 给了本人很大的启示上一节介绍了oid,这节简单 oid alias 怎么使用让我们...
  • sinat_29742125
  • sinat_29742125
  • 2017年07月05日 14:57
  • 196

【数学】时间复杂度O(1)的离散采样算法—— Alias method/别名采样方法

因为需要用到Alias Sampling Method的方法,但是查了一下,发现没有找到靠谱的关于Alias Method的中文介绍,所以干脆自己写一个好了。 关于Alias Method的介绍...
  • haolexiao
  • haolexiao
  • 2017年03月24日 09:52
  • 1974

友盟推送使用别名(Alias)推送到具体用户

项目最近增加了新功能:积分商城。用户可以通过使用自己的积分进行购物。 在新功能中有一个通知中心,显示后台系统发送给用户的一些消息:如购物成功、快递正在派送中、签收成功等,就像淘宝、京东中的消息那样。...
  • u010105969
  • u010105969
  • 2016年11月24日 14:53
  • 3436

Linux 之alias 命令别名

alias 命令别名 显示当前shell进程所有可用的命令别名 #alias  定义命令别名,其命令为:#alias NAME="VALUE" 在命令行中定义的别名,仅对当前sh...
  • ly1358152944
  • ly1358152944
  • 2016年08月19日 20:24
  • 301

Linux命令alias - 设置命令的别名,让 Linux

用途说明 设置命令的别名。在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。虽然可以为命令建立“链接”解决长文件名的问题,但对于带命令行参数的命令,链接就无能为力了...
  • zm_bingxindan
  • zm_bingxindan
  • 2014年07月10日 19:49
  • 275
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何为我们的snap应用取别名alias
举报原因:
原因补充:

(最多只允许输入30个字)