标签: alias

从别名中删除最后一个空格

我想为 xfreerdp 创建一个别名,我需要将别名中的 /v: 参数与服务器名称连接起来,这显然是在调用此别名时提供的。

别名:

alias r='xfreerdp /u:user /p:password /w:1300 /h:768 /sec:rdp /cert-ignore +cliprdr --plugin rdpsnd --plugin rdpdr --data disk:media:/tmp/RDP /v:'
Run Code Online (Sandbox Code Playgroud)

重击:

r mywindows.server.com
Run Code Online (Sandbox Code Playgroud)

结果:

tcp_connect: getaddrinfo (Não há endereço associado com o nome) 错误:协议安全协商或连接失败

有没有办法将 bash 别名与下一个参数连接起来?

先感谢您。

remote-desktop command-line bash alias

3
推荐指数
1
解决办法
1457
查看次数

gnome-terminal 的别名非常奇怪

这是我的别名文件中的一行,因此每当我打开终端时,它都会在 vim 编辑器中打开 jasonaccomp。

alias acc='gnome-terminal -e "bash -c 'cd ~/Downloads; vim jasonaccomp'"'
Run Code Online (Sandbox Code Playgroud)

退出vim doc后我看到

bash: alias: /home/master/Downloads: not found
Run Code Online (Sandbox Code Playgroud)

这一切都是在我什至打电话给 acc 之前。更糟糕的是,以下代码在我的主目录中运行时,完全按照我的意愿工作。它打开一个新终端,打开 jasonaccomp,当我完成编辑后,终端关闭。

gnome-terminal -e "bash -c 'cd ~/Downloads; vim jasonaccomp'"
Run Code Online (Sandbox Code Playgroud)

此外,键入时命令 acc 给我 > 一个闪烁的光标。每当我打开一个新终端时,如何摆脱编辑 jasonaccomp 的麻烦?另外,我如何让 acc 执行上述代码行的操作。

bash gnome-terminal alias

3
推荐指数
1
解决办法
375
查看次数

如何为文件路径创建别名?

我有我的机器上的多个文件夹,许多这些文件夹中有在其中更多的文件夹,这些文件夹内的多个文件夹,等等...现在,当我在做一些cdcp操作,我每天做一个备份过程的一部分或即使使用TAB自动更正功能,也必须输入文件或位置的所有文件路径变得相当烦人。

因此,我认为真正有用的是,如果我可以为命令创建别名,而不是为文件路径创建别名。这可能吗?

以下是我希望它如何工作的一些示例:

  • 我希望能够将~/Documents/SectionA/Sub-folder65/SectionF-2别名分配给等于,pandaPictures以便我可以使用它来执行以下类型的操作:

    cp pandaPictures/pic1.png ~/Pictures
    cd pandaPictures
    cd pandaPicture/Specials
    
    Run Code Online (Sandbox Code Playgroud)

    如果TAB自动完成功能也适用于包含这些文件路径别名的文件路径,那也会很好。

  • 我还希望能够分配PandaImages/2016/Sector7一个别名,safePandaImages以便我可以使用它来执行以下类型的操作:

    cp ~/Documents/Images/safePandaImages/panda.jpg ~/Pictures
    cd ~/Pictures/Photos/Images/Wallpaper/safePandaImages
    
    Run Code Online (Sandbox Code Playgroud)

在我上面给出的例子中,如果不可能或非常不切实际,第二部分不是绝对必须的(别名不仅在开头,而且在中间和结尾)。尽管如果可能的话,我不介意它看起来不像上面那样(例如,如果您必须[]在别名周围使用s 或其他东西,以便很明显它不仅仅是常规文件路径)。

我正在使用 GNOME 3.18 运行 Ubuntu GNOME 15.10。

command-line alias paths filename

3
推荐指数
2
解决办法
5469
查看次数

别名嵌套字符串

我有一个aliasforyoutube_dl在我的.bashrc文件中添加了一些参数。我想在一个单独的终端中运行它,类似于这里的完成方式。问题是这需要一个字符串作为输入。

我现在的别名:

alias youtube-dl="youtube-dl -ci --restrict-filenames -o '%(title)s.%(ext)s'"
Run Code Online (Sandbox Code Playgroud)

我希望新别名看起来像:

alias youtube-dl='gnome-terminal -e "youtube-dl -ci --restrict-filenames -o '%(title)s.%(ext)s'"'
Run Code Online (Sandbox Code Playgroud)

然而,问题是现在'-strings 被解释为两个单独的字符串。此外,我现在无法将 url 添加为参数。我该如何规避?

bash alias

3
推荐指数
1
解决办法
755
查看次数

date 命令在 bash 别名中没有正确解析

我试图建立对我来说,只需要输入的方式newjournal,并任命了新的日记帐分录year-month-date-time.txt中创建year的子目录~/documents/journals

我已使用以下命令将其设置为别名:

alias newjournal='nano /home/username/documents/journals/'$(date +%Y)'/'$(date +%F-%k%M).txt''
Run Code Online (Sandbox Code Playgroud)

所以 year 子文件夹可以正确解析,而 date 命令的前半部分似乎也是如此。尝试用 附加别名sudo,没有帮助。

问题:出于某种原因,当我执行此命令时,时间值 ( %k) 解析为几分钟前...或者也许是 nano 上次运行此文件名时,也许它被称为旧缓冲区?

当我注销时,它会生成正确的文件,然后我保存,等待几分钟再试一次,它会编辑旧文件而不是创建新文件。即使我删除了旧文件,它也会使用旧文件名(时间不正确)创建一个新文件。

这是我要解释的内容的屏幕截图。在这里,我创建了一个新日志,在执行命令后的一两秒内保存在 nano 中,打印正确的日期/时间,列出创建的文件。请注意不正确的文件名时间(1249,与 13:11 并列):

截屏

无论如何,它可能很简单,但是我在别名中尝试了不同的方法,例如在整个事物周围加上双引号并正确转义,单引号,转义和空格等。

感谢阅读/帮助。Ubuntu 16.04 服务器。

编辑:这是最终有效的别名:

alias newjournal='nano /home/user/journals/"$(date +%Y)"/"$(date +%F-%H%M).txt"'
Run Code Online (Sandbox Code Playgroud)

需要在整个单引号别名中对日期命令加双引号。

bash nano alias date

3
推荐指数
1
解决办法
2222
查看次数

以别名输出unix时间

我正在运行一个在线商店,我可以在其中放置一个变量 versiontag 来包含 JS 和 CSS 作为缓存破坏者。IE。

styles.css?v2018_01
Run Code Online (Sandbox Code Playgroud)

其中2018_01是版本标签。现在我还有一个 CLI 工具,可以像这样快速设置

mr config:set 'design/head/meta_version_tag' [insert_my_var_here]
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建一个 Bash 别名,在它运行时将变量设置为 Unix 时间戳。我知道我可以使用date +%s.

所以我会做一个这样的别名:

mr config:set 'design/head/meta_version_tag' date +%s
Run Code Online (Sandbox Code Playgroud)

但是 CLI 将 解释date +%s为字符串,而不是首先获取其输出。

所以我需要的是这样的输出:

mr config:set 'design/head/meta_version_tag' 1519747390
Run Code Online (Sandbox Code Playgroud)

所以我的问题是;如何在我的别名中获得 unix 日期戳的输出?

time bash alias

3
推荐指数
1
解决办法
359
查看次数

bash_aliases 不起作用

~/.bash_aliases在这些行中创建了文件:

# my alias here

eclipse="eclipse</dev/null &>/dev/null &"
okular="okular</dev/null &>/dev/null &"
libre="libreoffice</dev/null &>/dev/null &"
Run Code Online (Sandbox Code Playgroud)

~/.bashrc已准备好查找别名:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)

然后我执行了. ~/.basharcsource .bashrc但我创建的别名仍然不起作用。

bash alias bashrc

3
推荐指数
1
解决办法
2449
查看次数

如何禁用“open”命令,知道它只是“openvt”二进制文件的链接?

我希望用户能够安装我的命令行工具...

https://github.com/occam-proof-assistant/Open-CLI

...全局并通过键入从终端运行它open。NodeJS 包管理器,npm,提供此功能,在您全局安装包时创建必要的符号链接。所以在/usr/bin目录中,我看到确实创建了以下符号链接:

open -> ../lib/node_modules/occam-open-cli/open.js
Run Code Online (Sandbox Code Playgroud)

但是,这仅在我是 root 时才有效,否则我会得到:

Couldn't get a file descriptor referring to the console
Run Code Online (Sandbox Code Playgroud)

我知道这是什么,有点。如果我输入openvt,我会收到相同的消息。

所以我需要能够删除允许openvt使用open. 我认为这是一件安全的事情,因为openvt如果你愿意,你总是可以回到打字。

但是,我无法找到一种方法来做到这一点。我以为有某种别名,但打字unalias open不起作用。

那么这个神秘open命令、别名、符号链接或其他什么/在哪里?我怎样才能安全地删除它,并建议其他人也这样做?

command-line alias symbolic-link

3
推荐指数
1
解决办法
600
查看次数

如何在函数中使用别名?

在我的点文件中,我有一些函数依赖于别名或函数的存在以供它们工作。出于某种原因,我可以让它们引用我创建的其他函数,但不能引用命令的别名。我该如何解决?

例子:

function open-dotfiles-commit(){ 
    xopen https://github.com/fatso83/dotfiles/blob/$1; 
}
Run Code Online (Sandbox Code Playgroud)

如果我有别名xopen( alias xopen=xdg-open),open-dotfiles-commit命令将失败并显示xopen: cannot find command. 另一方面,如果我用一个名为xopen( function xopen(){ xdg-open; };)的函数替换别名定义,它会起作用!

我什至尝试shopt -s expand_aliases在与定义别名的文件相同的文件中进行设置- 未成功。别名和函数文件来自我的.bashrc.

bash alias functions bashrc

3
推荐指数
1
解决办法
1295
查看次数

如何在 ubuntu EC2 实例上创建文件夹路径别名?

ubuntu 18.04 on AWS

我按照stackoverflow上的答案创建了一个路径别名:

nano ~/.bashrc

alias myfolder='/home/xxx/pms'
Run Code Online (Sandbox Code Playgroud)

当我尝试 cd

cd myfolder
Run Code Online (Sandbox Code Playgroud)

我得到:

无此文件或目录

但是如果我使用它的工作路径。

我不确定这里的问题是什么。

TIA

command-line bash alias amazon-ec2

3
推荐指数
1
解决办法
2305
查看次数