标签: bash-alias

.bash_profile 中的别名不起作用

我在我的 .bash_login 中添加了一些 cd blah blah 命令作为别名,以便于更改目录。它工作正常。突然,尽管那里的别名都不起作用。它说找不到命令。我不知道为什么所有这些突然它会停止工作。有什么建议吗?(我确实重新启动了系统)

我很抱歉我实际上是想写 .bash_login

bash bash-alias .bash-profile macos

5
推荐指数
1
解决办法
9180
查看次数

使用别名在 bash 中回显反引号

抱歉,如果在其他地方回答了这个问题,我一生都无法找到解决我的特殊情况的方法,我承认这有点奇怪。(注意:由于某种原因,这篇文章中的所有“使用”字样都显示为蓝色,但它们不应该是蓝色的,我不知道如何防止它)。

我在 MacOS 中使用 bash。我的 .bashrc 中有一些别名,它们只是向终端窗口打印一些东西来帮助我记住命令,或者快速向某人展示一个示例(在下面的代码中,我在命令行上创建别名,但实际上我总是将别名放在 .bashrc 中):

556 ~ alias howtotensorboard="echo tensorboard --logdir=logs/ --port=6001"
557 ~ howtotensorboard
tensorboard --logdir=logs/ --port=6001
Run Code Online (Sandbox Code Playgroud)

如果我只在命令行上使用 echo,在反引号前面加上反斜杠允许我将反引号打印到窗口:

559 ~ echo Using \`which python\` etc
Using `which python` etc
Run Code Online (Sandbox Code Playgroud)

但是在别名中做同样的事情实际上是执行 `which python` 而不是将它打印到窗口:

560 ~ alias howtobacktick="echo Using \`which python\` etc"
561 ~ howtobacktick
Using /usr/bin/python etc
Run Code Online (Sandbox Code Playgroud)

TL; DR,我想要的是在 .bashrc 中放置一个别名,该别名使用 echo 打印出一个反引号,以便最后我可以在 bash 中做到这一点:

558 ~ howtobacktick
Using `which python` etc
Run Code Online (Sandbox Code Playgroud)

我在 .bashrc 中的别名中尝试了许多变体,但没有一个起作用。我怎样才能得到我正在寻找的行为?而且,有没有办法专门用回声来做到这一点?

terminal bash command-line bash-alias

5
推荐指数
1
解决办法
2890
查看次数

Windows 的 doskey/别名中的空间?

我尝试通过定义 doskey 别名在(docker)容器内运行Laravel 的 Artisan命令。

我的想法是:

php artisan=docker-compose exec apache php artisan $1
Run Code Online (Sandbox Code Playgroud)

但是,它不允许我在密钥中使用空格。知道如何实现这一目标吗?

 显示“无效的宏定义”错误的图像

编辑我为 Windows 制作了一个小的 GUI 工具来运行命令https://github.com/thomasmoors/DockerArtisan

windows alias bash-alias cmd.exe

5
推荐指数
1
解决办法
1719
查看次数

如何在 bash 中创建两个相同的别名?

我想为同一个命令创建两个不同的别名而不重复我自己。我怎样才能在 bash 中做到这一点?例如,我希望 listlong 和 longlist 都是“ls -al”的别名。

bash shell-script bash-alias

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

Windows 10 Ubuntu Bash:别名不起作用(:找不到命令)

我在 Windows 上启动了 Ubuntu bash,它随周年更新 1607 一起提供。这个 bash 源.bashrc文件位于/home/philUnix 用户的主目录,而不是 Windows 用户(这将是/mnt/c/Users/Philipp)。在这个文件中还有以下一段代码:

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

由于我的 Windows 主目录中已经有一个别名文件,因此我将其替换为:

if [ -f /mnt/c/Users/Philipp/.aliases_win ]; then
     . /mnt/c/Users/Philipp/.aliases_win
fi
Run Code Online (Sandbox Code Playgroud)

当重新启动 bash 或直接使用时,source /mnt/c/Users/Philipp/.aliases_win会给出:

: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
Run Code Online (Sandbox Code Playgroud)

所以我删除了尽可能多的别名,直到这些错误消息消失,只在文件中留下这些别名:

(作为参考,完整文件如下所示:https : //github.com/kleinfreund/dotfiles/blob/master/win/bash/.aliases

# …
Run Code Online (Sandbox Code Playgroud)

bash bash-alias windows-subsystem-for-linux windows-10-v1607

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

.bashrc 被编辑后的别名?

我想添加一个别名(为了方便起见),它允许我编辑我的 bashrc,如果进行了更改,请提供它,但如果没有进行任何更改,请不要提供(以防我改变主意)。

我最初尝试过,alias vb='vi ~/.bashrc && source ~/.bashrc'但后来我意识到即使只是退出 vi:q或者:q!可能仍然返回成功返回值,这就是它仍然来源的原因。

是否有某种方法可以创建别名,以便在不更改文件的情况下退出 vi 不会产生 .bashrc 来源,但如果某些内容发生了变化,它确实如此?

linux bash vim bashrc bash-alias

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

bash 中可自动完成的别名(或类似的)?

我的本地网络中有一台 CentOS 主机,我每天都使用它来打开与 Internet 和本地网络中许多(超过 40 个)其他主机的 SSH 连接。我已经设置了 RSA 密钥对来跳过交互式身份验证和一些像这样的 bash 脚本:

[root@beta ~]# cat ~/connections/mywebsite.sh
ssh mywebsitefi@virtualserver123.hostingprovider.fi
Run Code Online (Sandbox Code Playgroud)

当我需要打开与它们的连接时,这很好用,但当我需要将scp文件发送到同一主机时就不行了。

是否可以创建等效于别名的东西来替换这样的 username@host 部分?

[root@beta ~]# scp myfile MYWEBSITE:/var/www
Run Code Online (Sandbox Code Playgroud)

使用 Tab 键自动完成别名的可能性也很棒。

我知道 bash 别名只能用作命令的第一个单词,但是还有其他方法可以实现吗?如果不在 bash 中,也许是另一个 shell?

ssh bash bash-alias

2
推荐指数
1
解决办法
448
查看次数

创建别名 - 在 Bash 中?

如何创建-在 Bash 中命名的别名?以下均无效:

alias -='cd -'
alias \-='cd -'
alias '-'='cd -'
Run Code Online (Sandbox Code Playgroud)

有错误:

bash: alias: -=: invalid option
alias: usage: alias [-p] [name[=value] ... ]
Run Code Online (Sandbox Code Playgroud)

bash alias bash-alias

2
推荐指数
1
解决办法
402
查看次数

来自 WSL2 shell 的别名 CMD 命令

我在 Windows 10 上运行 WSL2,并且希望能够在不退出 Linux shell 的情况下从中运行 CMD 命令。具体来说,我想做的是:

wmic diskdrive get Model,Manufacturer,Size,DeviceID,Status,InterfaceType
Run Code Online (Sandbox Code Playgroud)

我如何使用 WSL2 做到这一点?

bash bash-alias cmd.exe windows-10 windows-subsystem-for-linux

2
推荐指数
1
解决办法
4753
查看次数

bash 别名如何理解“$@”?

我正在尝试写一个别名来做两件事

$alias cde='cd "$@" && echo'
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,当我用

$cde test
test
Run Code Online (Sandbox Code Playgroud)

所发生的只是它回声测试:

看起来我的参数没有传递给第一个语句,而是在整个别名的末尾用完。根据我的理解,$@应该消耗所有参数,以便它永远不会到达回声。有什么办法可以在第一部分而不是第二部分中使用参数?

bash alias bash-alias

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

麻烦“生成”bash别名

在我的 中~/.shortcuts,我有一些常用目录的符号链接。

.bashrc(OS X)中,我这样做:

ls -1 ~/.shortcuts | xargs -I {} alias {}="'cd -P ~/.shortcuts/{}'"

当我alias在终端中运行时,输出显示新添加的别名,但没有一个别名有效。为什么?

我有一些别名,如alias ll='ls -l'.bash_aliases. 这样. ~/.bash_aliases.bashrc负载我的自定义别名得很清楚。但是,当我将xargs -t输出重定向到 tmp 文件并在 bashrc 中获取它(就像我的 source 一样.bash_aliases)时,它不起作用。

我究竟做错了什么?

linux bash shell bash-alias macos

0
推荐指数
1
解决办法
91
查看次数