我的.bashrc文件包含一行这样的效果:
alias prog="/path/to/script.sh $(find $(pwd) -name prog)"
Run Code Online (Sandbox Code Playgroud)
当我注释掉这一行时,当我打开一个新终端时,Bash 几乎立即启动。有了这条线,在我的光标出现之前有 4-5 秒的延迟。
删除嵌套命令$(pwd)等也会再次加快速度。为什么会这样?我还能以某种方式使用嵌套命令吗?
如何在 Windows 的命令提示符中创建命令别名,就像我一样bash?
我doskey在论坛帖子中发现了,所以我可以做一些类似的事情:
doskey ls=dir /b
Run Code Online (Sandbox Code Playgroud)
...现在命令的ls行为更像ls在 Unix 上。(我ls经常输入cmd,它甚至都不好笑。)
但是我如何让它在会话之间坚持下去?下次我打开时它就会消失cmd.exe。(有没有类似的东西.bash_profile?)
我在 .bashrc 文件中给出了别名,如下所示。但是别名不起作用。为什么?
alias c='clear'
alias l='ls -lt'
alias h='history'
alias d='ls -lt |grep "^d"'
export ORACLE_HOME=/ora11gr2/app/oracle/product/11.2.0/db2
export ORACLE_LIB=/ora11gr2/app/oracle/product/11.2.0/db2/lib
export PATH=$ORACLE_HOME/bin:/usr/vac/bin:/usr/vacpp/bin:.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
Run Code Online (Sandbox Code Playgroud) 我想为 eth0 创建几个别名,但地址由 DHCP 分配,而不是设置为静态 IP。这甚至可能吗?
我见过的所有示例都使用以下命令分配静态 IP:
ifconfig eth0:0 192.168.1.11 up
Run Code Online (Sandbox Code Playgroud) 这个函数存在于我的一个用户的 ~/.bashrc 中:
function rm()
{
ls $*
echo "rm?"
read ans
if [ "$ans" == 'y' ]; then
/bin/rm $*
fi
}
Run Code Online (Sandbox Code Playgroud)
在我要求用户运行的 ksh 脚本中,我有这样一行:
[[ "$KEEP" = "" ]] && \rm $FILE
Run Code Online (Sandbox Code Playgroud)
虽然反斜杠转义用户定义的别名,但它不会阻止脚本运行具有相同名称的用户定义函数。结果,我的用户的 rm() 函数被调用而不是系统函数。
我发现了这个超级用户问题问题和回复,但该解决方案仅适用于内置函数,而不适用于系统命令。
强制调用 rm 命令而不是别名或函数的最佳方法是什么?我是否必须指定 rm 的完整路径以及我想确保正确执行的每个系统命令?有没有更好的办法?
如果我使用类似的东西在 vim 中映射命令
map <f4> :! pdflatex %<cr>
Run Code Online (Sandbox Code Playgroud)
Vim 将忽略我的 pdflatex 别名(类似于 alias pdflatex='pdflatex --temp-dir=something')。有没有可能让vim不忽略它?
我有一个 .bashrc 文件,我想设置它以便它从 .aliases 文件读取别名并设置它们。
目前我有:
# User specific aliases and functions
while read alias_line
do
echo `alias ${alias_line}`
done < .aliases
Run Code Online (Sandbox Code Playgroud)
但是登录后我得到:
-bash:别名:-fu:未找到 -bash:别名:$USER”:未找到
-bash:别名:-lart”:未找到
.aliases 文件是这样的:
psu="ps -fu $USER" ll="ls -lart"
pico='nano'
我正在尝试为命令取别名,sudo shutdown但在我看来,.profile我不能只做alias "sudo shutdown"="my command". 有没有另一种方法可以在 Unix 中为多字命令设置别名?
我正在尝试使用Git Immersion的日志别名:
[alias]
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
Run Code Online (Sandbox Code Playgroud)
但 Git 回应
fatal: ambiguous argument '%ad': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Run Code Online (Sandbox Code Playgroud)
使用 v1.6.1。到目前为止,我所做的只是在 master 上提交两次,然后在分支上提交一次。这个别名在其他地方对我有用,这台特定机器上可能有什么问题?
编辑 - 根据下面lesmana的建议,我能够确定在将行粘贴到 PuTTY 后,引号中的反斜杠以某种方式被剥离了。使用"而不是\".
我在 Gmail 中为转发地址(由 GoDaddy 管理,即 myemail@mydomain.com)添加别名,我注意到 Google 更改了他们的系统。过去,在您输入姓名和电子邮件地址后,您会看到如下所示的屏幕:

但是,现在他们似乎需要 SMTP 信息:

我做了一些研究并联系了 GoDaddy,但似乎您必须注册一个实际的电子邮件地址,而不是转发地址才能将其添加为 Gmail 中的别名。
应该注意的是,我之前设置的转发地址的所有别名都可以正常工作,我只是无法编辑它们或添加新的。
有没有人知道解决这个问题的方法或者为什么这会改变?谢谢!
alias ×10
bashrc ×4
bash ×3
linux ×2
shell ×2
bash-alias ×1
command-line ×1
dhcp ×1
email-client ×1
git ×1
gmail ×1
godaddy ×1
ignore ×1
ip-address ×1
ksh ×1
networking ×1
smtp ×1
unix ×1
vim ×1
windows ×1