关于osx–如何创建一个bash别名?和bash创建文件的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于bash–如何为grep-R写一个别名?、bash–如何创建中间的参数的别名?、ba
关于osx – 如何创建一个bash别名?和bash创建文件的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于bash – 如何为grep -R写一个别名?、bash – 如何创建中间的参数的别名?、bash – 如何在shell脚本中创建别名?、bash – 如何在参数位于中间的位置创建别名? [重复]等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- osx – 如何创建一个bash别名?(bash创建文件)
- bash – 如何为grep -R写一个别名?
- bash – 如何创建中间的参数的别名?
- bash – 如何在shell脚本中创建别名?
- bash – 如何在参数位于中间的位置创建别名? [重复]
osx – 如何创建一个bash别名?(bash创建文件)
因为这些文件是隐藏的,你必须做一个ls -a列出他们。如果你没有一个,你可以创建一个。
如果我记得正确,当我买了我的Mac,.bash_login文件不在那里。我不得不为自己创建它,以便我可以把提示信息,别名,函数等。
如果您想创建一个步骤如下:
>启动终端>键入cd〜/转到您的主文件夹>键入touch .bash_profile以创建新文件。>使用您最喜爱的编辑器编辑.bash_profile(或者您可以直接键入打开-e .bash_profile以在TextEdit中打开它。>类型。 .bash_profile重新加载.bash_profile并更新您添加的任何别名。
bash – 如何为grep -R写一个别名?
grep -Rni pattern .
可怕的很多我如何把它变成一个别名
alias gr='grep -Rni $@ .'
跑步给出:
$gr pattern grep: pattern: No such file or directory
即使别名看起来不错:
$type gr gr is aliased to `grep -R $@ .'
看来,$@和.实际执行时被交换.
例如mylibrary.sh
myfunction(){ grep -Rni ... } #!/bin/bash source mylibrary.sh myfunction
bash – 如何创建中间的参数的别名?
我试着像这样定义它:
alias grep_logs="grep $1 */log/*.log"
其中$1是grep_logs的第一个参数,这样:
grep_logs foo
将执行以下命令:
grep foo */log/*.log
而是运行命令:
grep foo */log/*.log foo
这导致错误:
grep: foo: No such file or directory
有可能使用别名来做这个,还是需要定义一个函数?
function greplogs(){ grep "$1" */logs/*.log }
bash – 如何在shell脚本中创建别名?
从以下示例中我们看到:I_am_only_ls_alias alias命令将输出作为ls命令提供给我们
# alias I_am_only_ls_alias=ls # I_am_only_ls_alias
输出:
file file1
但是当我尝试在bash脚本中执行相同操作(定义别名I_am_only_ls_alias)时,我得到I_am_only_ls_alias:找不到命令.
我的bash脚本示例:
alias_test.bash
#!/bin/bash alias I_am_only_ls_alias=ls I_am_only_ls_alias
运行bash脚本 – alias_test.bash
/tmp/alias_test.bash
输出:
/tmp/: line 88: I_am_only_ls_alias: command not found
所以,首先我要问:
为什么bash不将命令I_am_only_ls_alias识别为别名?
为了在bash脚本中定义别名,我需要做些什么?可能吗?
解决方法
Aliases are not expanded when the shell is not interactive,unless the
expand_aliases
shell option is set usingshopt
(see the
description ofshopt
under SHELL BUILTIN COMMANDS below).
所以这应该工作:
#!/bin/bash shopt -s expand_aliases alias I_am_only_ls_alias=ls I_am_only_ls_alias
脚本通常使用函数,而不是别名.
bash – 如何在参数位于中间的位置创建别名? [重复]
我试着像这样定义它:
alias grep_logs="grep $1 */log/*.log"
其中$ 1是grep_logs的第一个参数,例如:
grep_logs foo
将执行以下命令:
grep foo */log/*.log
但相反,它运行命令:
grep foo */log/*.log foo
这会导致错误:
grep: foo: No such file or directory
是否可以使用别名来执行此操作,还是需要定义函数?
function greplogs(){ grep "$1" */logs/*.log }
今天关于osx – 如何创建一个bash别名?和bash创建文件的讲解已经结束,谢谢您的阅读,如果想了解更多关于bash – 如何为grep -R写一个别名?、bash – 如何创建中间的参数的别名?、bash – 如何在shell脚本中创建别名?、bash – 如何在参数位于中间的位置创建别名? [重复]的相关知识,请在本站搜索。
本文标签: