我经常发现自己在制作单个字符别名,因为毕竟它们的存在是为了节省输入时间。我很好奇是否应该避免这种情况。我不知道有任何冲突。
这个问题一直困扰着我一段时间,虽然我认为我已经通过EnvWatcher找到了我的答案,但不幸的是它只适用于 Bash。我使用 zsh。
我想在较小程度上复制 env-watcher 所做的事情,但我需要知道是否有一个命令可以将 shell 重置为干净的启动阶段。
例如,我想要以下工作流程。
source some-functions
alias another-thing
export SVN_EDITOR=vim
RESET-ZSH # none of the above are valid any more
Run Code Online (Sandbox Code Playgroud)
是否有这种内置的可能性,还是我在追逐蝴蝶?
当我不在我的电脑附近时,有人拿到了它并ls在我的根文件夹中设置了一个别名。他将其设置为'yes NeverGonnaGiveYouUp'。所以现在当我在我的根文件夹中输入时,ls我会得到一个 NeverGonnaGiveYouUp 的无限循环。它让我发疯,我不知道如何摆脱它。
我已经尝试过了unalias,unalias -a但那些只是暂时将其删除。一旦我关闭外壳并重新打开它,它就会回来。我该如何摆脱这种垃圾?
我的大部分别名都是这种形式: alias p='pwd'
我想别名,git commit以便它git commit -v
但是尝试使用空格创建别名会出现错误:
$ alias 'git commit'='git commit -v'
-bash: alias: `git commit': invalid alias name
Run Code Online (Sandbox Code Playgroud) 因此,通过键入几个命令,我发现不仅有ls,而且l还有la。manUbuntu 12.14 上似乎没有任何条目。他们似乎都在做类似的事情,但有细微的差别:
$ ls
app config CONTRIBUTING.md doc Gemfile Guardfile LICENSE MAINTENANCE.md Procfile Rakefile script tmp VERSION
CHANGELOG config.ru db features Gemfile.lock lib log PROCESS.md public README.md spec vendor
$ la
app CHANGELOG config.ru db features Gemfile .git Guardfile LICENSE MAINTENANCE.md Procfile Rakefile .rspec .secret spec .travis.yml VERSION
.bundle config CONTRIBUTING.md doc .foreman Gemfile.lock .gitignore lib log PROCESS.md public README.md script .simplecov tmp vendor
$ l
app/ config/ CONTRIBUTING.md doc/ Gemfile …Run Code Online (Sandbox Code Playgroud) 我正在运行 Ubuntu 10.04 并upstart用于守护进程管理。我的企业应用程序作为守护程序运行,并且由于各种特权必须以 root 身份运行。例如:
sudo start my-application-long-ID
sudo stop my-application-long-ID
etc
Run Code Online (Sandbox Code Playgroud)
我想介绍一个alias将这些命令缩写为:
alias startapp='sudo start my-application-long-ID'
Run Code Online (Sandbox Code Playgroud)
并按原样运行它startapp,但我希望别名中没有 sudo 。
alias startapp='start my-application-long-ID'
Run Code Online (Sandbox Code Playgroud)
运行时不会使用sudo startapp,返回sudo: startapp: command not found。
但是,当我添加别名时:
alias sudo='sudo '
sudo startapp 现在有效,但我仍然很好奇为什么 sudo 忽略别名。
我有一个.bash_profile,因为我有一组别名。目前这些别名只执行一个命令,而且相当容易。但是,我想用我尝试创建的新别名做两件事。
我想要一个键盘快捷键这样工作:
> e foo.txt
Run Code Online (Sandbox Code Playgroud)
扩展为
> emacs foo.txt &
Run Code Online (Sandbox Code Playgroud)
使用起来很简单alias e=emacs,但如何&在文件名后插入?我意识到仅使用 可能无法实现alias,因此我将接受任何 bash 解决方案。如果需要 shell 脚本,请解释它是如何工作的。
我通常使用的外壳是zsh. 我有几个别名可以在某些程序中启用颜色,例如ls和grep。我还设置了我的自定义路径,以便我可以在非标准位置(例如 in ~/bin/)执行程序。
我不会将 root 的 shell 更改为zsh,但我想分享这些设置,以便 root 也可以拥有它。我发现这zsh不是采购/etc/profile。我可以在 中获取它/etc/zsh/zprofile,但我想要一些其他更“正确”的方式。