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 foundscripts文件
#!/bin/bash#启用别名展开
shopt -s expand_aliases
alias tt='echo 111' # 定义别名
tt # 使用别名[***@EDA ~]$ ./scripts
111

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python(django)之产品后台管理功能实现

1、添加新项目 在命令行输入以下代码 python manage.py startapp prroduct 2、添加路径和代码结构 在新项目目录下admin.py中加入以代码 from .models import Product class ProductAdmin(admin.ModelAdmin):list_display [product_name, product_desc,producter,created_…

牛客小白月赛86(D剪纸游戏)

题目链接:D-剪纸游戏_牛客小白月赛86 (nowcoder.com) 题目描述: 输入描述: 输入第一行包含两个空格分隔的整数分别代表 n 和 m。 接下来输入 n行,每行包含 m 个字符,代表残缺纸张。 保证: 1≤n,m≤10001 字符仅有 . 和 * 两种字符&#xf…

利用autodl服务器跑模型

1. 租用服务器 本地改模型 服务器 将改进好的、数据集处理好的模型压缩为zip文件上传到阿里云盘打开服务器AUTODL服务器,在主页中选择容器实例 在此位置进行开关机操作,若停止服务器,必须关机,不然会一直扣钱 2. 运行模型 选择…

Nacos详解,从安装到服务部署,及nginx反向代理

Nacos 安装 Windows安装 下载 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: GitHub主页:https://github.com/alibaba/nacos GitHub的Release下载页:https://github.com/alibaba/nacos…

peft模型微调_IA3

IA3(论文:Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning),通过学习向量来对激活层加权进行缩放,从而获得更强的性能,同时仅引入相对少量的新参数,…

鸿蒙:@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。这就引出了Observed/Object…

【文末附gpt升级4.0方案】FastGPT详解

FastGPT知识库结构讲解 FastGPT是一个基于GPT模型的知识库,它的结构可以分为以下几个部分: 1. 数据收集:FastGPT的知识库是通过从互联网上收集大量的文本数据来构建的。这些数据可以包括维基百科、新闻文章、论坛帖子等各种类型的文本。 2…

转置卷积(transposed-conv)

一、什么是转置卷积 1、转置卷积的背景 通常,对图像进行多次卷积运算后,特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等),需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作&#xff0c…

聚类算法( clustering algorithm):

在前两章,我们学的是:线性回归,逻辑回归,深度学习(神经网络),决策树,随即森林算法。他们都是监督学习的例子。 在这一章里,我们将学习非监督学习的算法。 什么是聚类算法: 聚类算…

Excel 使用SQL统计表格数据

一. 需求 ⏹有如下Excel表格,现要求统计每个店铺的每种类别的商品总销量和最大销量 ⏹详细数据如下 店铺商品类别销量一山店苹果水果27729一山店梨水果76175一山店菠萝水果14699一山店香蕉水果61371一山店西兰花蔬菜72822一山店大白菜蔬菜65090一山店小白菜蔬菜13…

git的下载与安装

下载 首先,打开您的浏览器,并输入Git的官方网站地址 点击图标进行下载 下载页面会列出不同操作系统和平台的Git安装包。根据您的操作系统(Windows、macOS、Linux等)和位数(32位或64位),选择适…

k8s系列之十五 Istio 部署Bookinfo 应用

Bookinfo 应用中的几个微服务是由不同的语言编写的。 这些服务对 Istio 并无依赖,但是构成了一个有代表性的服务网格的例子:它由多个服务、多个语言构成,并且 reviews 服务具有多个版本。 该应用由四个单独的微服务构成。 这个应用模仿在线书…

[Halcon学习笔记]标定常用的Halcon标定板规格及说明

1、介绍 大多数标定的要求都是以实心圆或方格来作为标志点,所以一般的标定板为棋盘格或矩阵圆点图,高精度的相机标定过程中,大多是以比较明确的特征点来作为参考,所以通过识别标定板的圆形,拟合出精确的中心位置&…

【面试题】HashMap为什么可以插入null而Hashtable就不可以(源码分析)

首先hashmap可以插入null值,但是hashtable和hashcurrentHashmap是不支持的;这是因为在 hashmap对插入key为null进行了特殊处理,当插入的值为null的时候会将哈希值设置为0 但是hashtable会直接抛出异常: 并且hashmap是线程不…

基于C/C++的easyx图形库教程

文章目录: 一:前言 二:窗口(宽高 背景颜色 窗口标题 弹出对话框) 三:图形绘制(点 线 矩形 圆 椭圆) 四:文字(颜色 大小 背景 位置 打印 文字居中) 五&a…

Jest:JavaScript的单元测试利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

IDEA创建Sping项目只能勾选17和21,没有Java8?

解决办法: 替换创建项目的源 我们只知道IDEA页面创建Spring项目,其实是访问spring initializr去创建项目。故我们可以通过阿里云国服去间接创建Spring项目。将https://start.spring.io/或者http://start.springboot.io/替换为 https://start.aliyun.com/

2024 IEEE GRSS Data Fusion Contest Track 2 竞赛总结

一、成绩 二、尝试方案过程 模型上:Swin-smallSwin-base: Val 阶段效果较好Swin-largeKnet-ResNeSt101-FCN: crop-size_512x512 TTA-x5.0-7.0 iter-10k Test 阶段效果较好Segformer-b4Segformer-b5: crop-size_640x640 TTA-x5.0-7.0 2、输入与预处理: 对…

【系统架构师】-第6章-数据库设计基础知识

1、三级模式-两级映像 外模式:视图、用户与数据库的接口 概念模式:表 内模式:存储方式,索引创建等 1)外模式-模式映射: 视图与表的映射,表数据发生修改,只需要修改映射&#xf…

面试算法-62-盛最多水的容器

题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。…