Linux Shell编程(30)——别名
来源:互联网 发布:京东和淘宝区别 编辑:程序博客网 时间:2024/05/05 19:47
Bash别名本质上是一个简称, 缩写, 这可避免键入过长的命令序列. 例如,如果我们添加 alias lm="ls -l | more" 这一行到文件~/.bashrc file里, 然后每次在命令行键入lm 将会自动被替换成ls -l | more. 这使用户在命令行不必键冗长的命令序列也避免了记忆复杂的命令及众多选项. 设置alias rm="rm -i" (交互式删除)可以使你犯下错误时不必过度悲伤,它能避免你不小心删除重要文件.
在脚本里,别名机制不是非常的有用. 如果把别名机制想像成C预处理器的某些功能将会非常好,比如宏扩展,但是,不幸的是Bash不能在别名中扩展参数.而且,别名不能在“混合型的结构”中使用,比如if/then语句, 循环, 和函数. 还有一个限制是别名不能递归地扩展.
例子:脚本中的别名
unalias 命令删除先前设置的别名.
在脚本里,别名机制不是非常的有用. 如果把别名机制想像成C预处理器的某些功能将会非常好,比如宏扩展,但是,不幸的是Bash不能在别名中扩展参数.而且,别名不能在“混合型的结构”中使用,比如if/then语句, 循环, 和函数. 还有一个限制是别名不能递归地扩展.
例子:脚本中的别名
#!/bin/bash# alias.shshopt -s expand_aliases# 必须设置这个选项,否则脚本不会扩展别名功能.alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."'Jesse_Jamesecho; echo; echo;alias ll="ls -l"# 可以使用单引号(')或双引号(")来定义一个别名.echo "Trying aliased \"ll\":"ll /usr/X11R6/bin/mk* #* 别名工作了.echodirectory=/usr/X11R6/bin/prefix=mk* # 看通配符会不会引起麻烦.echo "Variables \"directory\" + \"prefix\" = $directory$prefix"echoalias lll="ls -l $directory$prefix"echo "Trying aliased \"lll\":"lll # 详细列出在/usr/X11R6/bin目录下所有以mk开头的文件.# 别名能处理连接变量 -- 包括通配符 -- o.k.TRUE=1echoif [ TRUE ]then alias rr="ls -l" echo "Trying aliased \"rr\" within if/then statement:" rr /usr/X11R6/bin/mk* #* 引起错误信息! # 别名不能在混合结构中使用. echo "However, previously expanded alias still recognized:" ll /usr/X11R6/bin/mk*fi echocount=0while [ $count -lt 3 ]do alias rrr="ls -l" echo "Trying aliased \"rrr\" within \"while\" loop:" rrr /usr/X11R6/bin/mk* #* 在这儿,别名也不会扩展. let count+=1done echo; echoalias xyz='cat $0' # 脚本打印自身内容. # 注意是单引号(强引用).xyzexit 0
unalias 命令删除先前设置的别名.
0 0
- Linux Shell编程(30)——别名
- Linux编程Shell别名和快捷键
- Linux shell 简介1——命令的别名、Shell 函数/从这里出发/Shell 常见问题
- linux shell(别名与快捷键)
- Linux Shell编程(1)——shell编程简介
- linux shell之alias(别名)
- Linux Shell编程(3)——运行shell脚本
- Linux Shell编程(27)——子shell
- Linux Shell 脚本编程(1)—Shell脚本基础知识
- Linux曲径通幽:Shell编程(别名、历史、输入输出重定向、多命令顺序执行、管道符、通配符)
- Linux —— alias 别名
- Linux——Shell编程
- Linux shell 2 - 别名, shell函数
- Linux Bash Shell学习(七):shell编程基础——运行Shell脚本、function
- linux下Shell命令别名设置
- Linux——alias 设置别名详解
- linux学习笔记—别名与快捷键
- linux aliases (别名)
- Linux Shell编程(29)——函数
- 求素数,奇数,偶数和
- 一个新的开始
- C指针解析 ------ 运算符&和*
- 设计模式经典帖子相关链接
- Linux Shell编程(30)——别名
- 黑马程序员--基础加强(内省-javabean)
- 对列的基本运算
- MINA及其在高性能通讯应用中的突出问题(NIO架构及应用之二)
- 国庆前一星期的工程 杂七杂八的知识
- Math.round四舍五入
- Leetcode第三刷需要注意的问题
- nio框架采用多个Selector
- springMVC下的SQL语句异常:未明确定义的列