Linux:设置别名命令alias

相关阅读

Linuxicon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12234591.html?spm=1001.2014.3001.5482


        在Linux中alias命令用于为一串字符(常代表命令)设置一个别名,该别名在Bash读取并解析一行命令时会被展开。

        下面是该命令的语法。

用法
alias [-p] ([name[=value]])*
选项:
-p 指定该选项会打印出当前进程的所有别名

        许多Linux发行版会有默认别名设置,它们是通过Bash配置文件完成的。直接使用alias而不添加name参数会导致和使用-p选项一样的结果,即打印出当前进程的所有别名。

[***@EDA ~]$ alias
alias dc='dc_shell'
alias dv='design_vision'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias fm='formality'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias lmd=' lmdown -c /opt/Synopsys/SCL_2018/scl/2018.06/admin/license/license.dat'
alias lmg=' lmgrd -c /opt/Synopsys/SCL_2018/scl/2018.06/admin/license/license.dat -l /opt/Synopsys-2018/SCL_2018/scl/2018.06/admin/logs/debug.log '
alias ls='ls --color=auto'
alias pt='primetime'
alias starrc='StarXtract'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

        一条命令的第一个word(通常是命令名)在Bash读取一行命令后会被检测是否为别名,如是,则会进行别名替换,由于该替换是在Bash读取一行命令后立刻执行的,所以同一行命令中前面的alias设置的别名无法立刻在该行后直接使用。

[***@EDA ~]$ alias aa='echo 1';aa
bash: aa: command not found...
[***@EDA ~]$ alias
alias aa='echo 1'
alias dc='dc_shell'
alias dv='design_vision'
*****
[***@EDA ~]$ aa
1

        这与变量替换不同,变量替换是在命令执行前进行的,晚于别名替换。

[***@EDA ~]$ a=1;echo $a
1

        如果alias设置的别名值后有空格,则在解析时,在该条命令的第一个别名被替换后,后一个word也会被检测是否为别名。

[***@EDA ~]$ alias bb='echo 2 '  #value中留有空格 
[***@EDA ~]$ alias cc='3'        #value中留有空格
[***@EDA ~]$ alias
alias aa='echo 1'
alias bb='echo 2 '               #注意末尾有空格
alias cc='3'
alias dc='dc_shell'
alias dv='design_vision'
*****
[***@EDA ~]$ bb cc               #bb和cc都会被检测是否是别名,被替换成echo 2 3
2 3

        别名无法像环境变量那样被子进程继承,因此一般会在配置文件中设置别名。 

[***@EDA ~]$ alias ddd='echo This is alias in Bash' #在当前进程创建一个别名
[***@EDA ~]$ ddd
This is alias in Bash
[***@EDA ~]$ bash               #在当前进程运行另一个bash子进程
[***@EDA ~]$ ddd                #无法使用别名替换
bash: ddd: command not found...
Similar command is: 'dd'
[***@EDA ~]$ exit               #回到一开始的bash进程
[***@EDA ~]$ ddd                #可以使用别名
This is alias in Bash

        别名不会递归替换,一旦别名替换后,其替换后的内容就不会被检测是否是别名。

[***@EDA ~]$ alias echo='echo 1'  #别名替换值中又有别名
[***@EDA ~]$ echo                 #不会递归替换
1

        在非交互式的Bash脚本中,别名替换默认被关闭了,除非在脚本中使用shopt命令开启expand_aliases选项。

scripts文件
#!/bin/bash

#未启用别名展开
#shopt -s expand_aliases
alias tt='echo 111' # 定义别名
tt # 使用别名

[***@EDA ~]$ ./scripts
./script: line 8: tt: command not found

scripts文件
#!/bin/bash

#启用别名展开
shopt -s expand_aliases
alias tt='echo 111' # 定义别名
tt # 使用别名

[***@EDA ~]$ ./scripts
111

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/456591.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IPFoxy的正确打开方式

IPFoxy是一个全球动静态代理IP服务器软件,为全球用户提供优质的大数据代理服务,促进网络业务高校进行。目前拥有千万真实纯净IP资源,覆盖超过220个国家和地区,汇聚成优质海外代理池,支持http、https、socks5多种协议类…

WPF —— Grid网格布局

1 :Grid网格布局简介 Grid为WPF中最常用的布局容器, 作为View中的主要组成部分, 负责框架中整体的页面布局。 2:网格标签Grid.ColumnDef Grid.ColumnDefinitions自定义列 只能设置宽度 不能设置高度ColumnDefinition 每一个列可以设置宽度,…

计数类Dp

文章目录 AcWing 900. 整数划分思路1. 完全背包AC CODE 2. 计数DpAC CODE AcWing 900. 整数划分 链接:https://www.acwing.com/activity/content/problem/content/1008/ 思路 1. 完全背包 完全背包的链接:https://blog.csdn.net/2301_78981471/artic…

安装小知识:无源无线测温传感器可以安装在哪些部位?

一、无源无线测温传感器介绍 无源无线测温传感器采用超低功耗设计:主芯片采用美国TI公司,功耗低,低可至0.03mw,区别于传统的感应供电,不存在发热现象。测温元件采用耐高温、高精度热敏电阻,测温范围宽至-40…

ETH共识升级之路

简介 根据我们之前的介绍,了解到ETH网络的共识方式,已经从 PoW 切换到了 PoS,今天我们就回顾下升级之路,以及升级带来的影响 最早的共识机制 PoW 以太坊创建之初采用了类似比特币的工作量证明机制,即矿工通过计算哈希函…

案例分析篇12:可靠性设计考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…

爬虫入门到精通_框架篇18(Scrapy中选择器用法)_sector,xpath,css,re

官方文档 Using selectors To explain how to use the selectors we’ll use the Scrapy shell (which provides interactive testing) and an example page located in the Scrapy documentation server: https://docs.scrapy.org/en/latest/_static/selectors-sample1.html…

LeetCode.2864. 最大二进制奇数

题目 2864. 最大二进制奇数 分析 这道题目其实我们只需要保证最后一位是1,其余的1都放在最前面,这样得到的就是最大二进制奇数。 所以,我们先统计给定的字符串有多少个 1,多少个 0,把其中一个 1 放在最后一位&…

使用STM32+ESP8266(ESP-01S)+点灯科技(手机端Blinker)实现远程控制智能家居

硬件准备:STM32单片机、ESP8266(ESP-01S)、CH340C下载烧录器 软件准备:STM32CubeMX、Keil uVision5、Arduino IDE、 点灯科技(手机端APP Blinker)点灯科技 (diandeng.tech)点击进入 值得注意的是&#x…

工业界真实的推荐系统(小红书)-用户行为序列建模:LastN、DIN、SIM

课程特点:系统、清晰、实用,原理和落地经验兼具 b站:https://www.bilibili.com/video/BV1HZ421U77y/?spm_id_from333.337.search-card.all.click&vd_sourceb60d8ab7e659b10ea6ea743ede0c5b48 讲义:https://github.com/wangsh…

武汉灰京文化:RPG手游营造的奇幻世界

近年来,RPG手游在游戏市场上异军突起,成为年轻玩家追逐的焦点。这类游戏以其深度的游戏体验和吸引人的故事情节,吸引了大批玩家投入其中。那么,为何热衷于RPG手游?本文武汉灰京文化将从社交互动、沉浸式体验、成就感和…

压缩json字符串

GZIPOutputStream 需要关闭,而 ByteArrayOutputStream 不需要关闭。具体原因如下: GZIPOutputStream:GZIPOutputStream是一种过滤流,它提供了将数据压缩为GZIP格式的功能。当使用此类的实例写入数据时,它会对数据进行压…

C++ 网络编程学习五

C网络编程学习五 网络结构的更新单例模式懒汉单例模式饿汉单例模式懒汉式指针智能指针设计单例类 服务器优雅退出asio的多线程模型IOServiceasio多线程IOThreadPoolepoll 和 iocp的一些知识点 网络结构的更新 asio网络层,会使用io_context进行数据封装,…

pgsql常用索引简写

文章来源:互联网博客文章,后续有时间再来细化整理。 在数据库查询中,合理的使用索引,可以极大提升数据库查询效率,充分利用系统资源。这个随着数据量的增加得到提升,越大越明显,也和业务线有关…

数据库 04-02 实体属性修改,E-R图,强弱实体集

01.开始设计E-R图的时候,第一个步骤是选择实体,而后选择实体的属性 例子: 02.实体属性的冗余 例子1: 两个实体集: 一个联系集: 属性departname 效果: 例子2: 两个实体集&am…

MySQL中出现‘max_allowed_packet‘ variable.如何解决

默认情况下,MySQL的max_allowed_packet参数可能设置得相对较小,这对于大多数常规操作来说足够了。但是,当你尝试执行包含大量数据的操作(如大批量插入或大型查询)时,可能会超过这个限制,从而导致…

DVWA-master 存储型xss

什么是存储型xss 存储型xss意味着可以与数据库产生交互的,可以直接存在数据库中 先将DVWA安全等级改为低 先随便写点东西上传 我们发现上传的内容会被显示,怎么显示的呢? 它先是上传到数据库中,然后通过数据库查询语句将内容回显 …

史上最牛Linux详解,看完直接带你由入门到精通!

第一部分:入门 第二部分:成为一名linux高级用户: 第三部分:成为一名Linux系统管理员 第四部分:成为一名Linux服务器管理员 因文章内容过长,目录先放这些,因为接下来还要放一些内容 小编13年上海…

如何在Linux部署Docker Registry本地镜像仓库并实现无公网IP远程连接

文章目录 1. 部署Docker Registry2. 本地测试推送镜像3. Linux 安装cpolar4. 配置Docker Registry公网访问地址5. 公网远程推送Docker Registry6. 固定Docker Registry公网地址 Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)…

DB算法原理与构建

参考: https://aistudio.baidu.com/projectdetail/4483048 Real-Time Scene Text Detection with Differentiable Binarization 如何读论文-by 李沐 DB (Real-Time Scene Text Detection with Differentiable Binarization) 原理 DB是一个基于分割的文本检测算…