[CentOS] 指定命令别名:Alias & 软链接生成命令 ln -s
1. Alias命令
功能描述:我们在进行系统的管理工作一定会有一些我们经常固定使用,但又很长的命令。那我们可以给这些这一长串的命令起一个别名。之后还需要这一长串命令时就可以直接以别名来替代了。系统中已经有一些默认的命令别名。可以alias来查看。也可以查看家目录下的~/.bash_profile来查看,这个是属于用户个人的别名。如果要定义全局的别名,可以将定义写入/etc/bashrc档案中。通过alias去的别名,在系统重新启动过后会自动清除。修改后,要source一下才会生效。
语法:alias [别名] = [指令名称]
取消别名:unalias [别名]
使用实例:将 matlab 的版本号由 R2013a 更新为 R2015b
(1)系统现有的别名
[She@She ~]$ alias
...
alias matlab='"/usr/local/MATLAB/R2013a/bin/matlab"'
...
(2)编辑文件~/.bashrc。更改部分见彩色文字的标注。
[She@She ~]$ vi ~/.bashr
# .bashrc
...
alias matlab='"/usr/local/MATLAB/R2013a/bin/matlab"'
...
更改后:
# .bashrc
...
alias matlab='"/usr/local/MATLAB/R2015b/bin/matlab"'
...
(3)用source命令更新环境变量,使更改生效。
[She@She ~]$ source ~/.bashrc
(4)查询系统现有的别名,以确认更新成功。
[She@She ~]$ alias
...
alias matlab='"/usr/local/MATLAB/R2015b/bin/matlab"'
...
2. 用 ln 命令修复 shell 调用 matlab 时的 bug
Bug描述:用 alias 命令指定的简写,可以在终端启动matlab,但不能在 shell 文件中运行matlab命令。
Bug修复:用 ln -s 生成软链接,以搭配使用。
(1)在终端可以正常启动 matlab
[She@She ~]$ matlab -nodesktop -nojvm
< M A T L A B (R) >
Copyright - The MathWorks, Inc.
R2015b (8.6.0.267246) -bit (glnxa64)
August ,
For online documentation, see http://www.mathworks.com/support
For product information, visit www.mathworks.com.
>>
(2)bug:在 shell 脚本中无法使用简写命令调用 matlab,只能使用含绝对路径的完整命令来调用 matlab:
测试 m 文件 /home/She/tmp.m:
pause(60);
测试 shell 脚本 /home/She/test.sh:
#!/bin/bash
MatlabFile='/home/She/tmp.m'
chmod +x ${MatlabFile}
/usr/local/MATLAB/R2015b/bin/matlab -nodesktop -nosplash -nojvm -r "run ${MatlabFile}; exit;" # 可正常运行
matlab -nodesktop -nosplash -nojvm -r "run ${MatlabFile}; exit;" # 报错
exit
shell 报错如下:
[She@She ~]$ ./test.sh
./test.sh: line 9: matlab: command not found
[She@She ~]$
(3)用 ln 命令修复 bug
ln 命令的用法为: ln [参数] [源文件或目录] [目标文件或目录]
注意:源文件和目标文件的顺序千万不要搞错了!
使用 "ln" 命令生成软链接 /usr/bin/matlab,使它指向 matlab 的启动程序:
[She@She ~]$ sudo ln -s /usr/local/MATLAB/R2015b/bin/matlab /usr/local/bin/matlab
[sudo] password for She:
(4)再次测试 shell 脚本,一切正常
[She@She ~]$ ./test.sh
[She@She ~]$
[CentOS] 指定命令别名:Alias & 软链接生成命令 ln -s的更多相关文章
- linux杂记(?)命令别名——alias
linux中的命令别名--alias linux中的命令别名--alias 1. 用命令alias可以查询系统中有哪些可用的命令别名 2.添加命令别名 回车查看, 别名建立成功 3.查询命令的地址ty ...
- Linux学习之路:命令别名、历史记录和命令查找执行顺序
一.命令别名 alias rm='rm –i':删除命令时会随时出现提示;alias vi=vim alias 不加参数,显示系统内所以命令别名 unalias 取消别名 二.历史命令 history ...
- 命令别名alias设置
<转:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_3.php> 命令别名配置: alias, unalias 命令别名是一个很有趣的东 ...
- MacBook设置终端颜色,补全忽略大小写,设置命令别名alias,设置vim,设置显示git分支
1.启用终端颜色 修改配置文件 $ vim .bash_profile #enables colorin the terminal bash shell export export CLICOLOR= ...
- 转Linux 下用alias 设置命令别名快速切换常用命令
https://blog.csdn.net/u012830148/article/details/80618616 在linux下开发,经常需要切换目录,如果目录很长则切换起来非常的麻烦,针对一些常用 ...
- Linux中命令别名alias与命令替换
当我们使用bash进行一些操作的时候,希望一些较为长的命令使用一些短的命令即可完成输入运行的话,我们就可以使用alias命令别名来帮助我们完成这个任务 alias作为一个bash的内置命令,具有一定的 ...
- Linux编程 10 (shell外部命令与内建命令,alias ,type命令)
一. 内部命令 Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但也有些细微差别.内部命令不需要使用子进程来执行,它们已经和shell编译成一体,作为shell工 ...
- git命令别名(Alias)
每次切换分支: git ckeckout branch_name 等命令费时又费力,git 别名配置起来: 别名配置: git config --global alias.ck ckeckout 其他 ...
- alias指令:设置命令别名
alias: usage: alias [-p] [name[=value] ... ] 1. 语法 alias [参数][命令别名]=[原命令名称] 2. 功能介绍 该指令主要用于为原命令 ...
随机推荐
- 【前端】screenX/Y, clientX/Y, pageX/Y 的区别
一图胜千言. 做了一个图:
- Unity仪表盘显示UGUI制作小心得
最近在做设备仪表参数参数显示,由于模型摆放位置经常修改,加之要求不能在模型的下面添加东西,显示界面的位置也不得不跟着修改,一来二去就烦了,想了解决办法,现在总结如下: 1.仍然在模型下面新建Panel ...
- Qual F&Q
[1]长按power键,下面有四个选项可以选择户外,静音,振动标准四种模式 GlobalActions.java->createDialog(): if (!mHasVibrator) { mS ...
- 3.UIViewController详解
一. UIViewController,视图控制器,它是UIKit中非常重要的组成部分.它由控制器+View两部分组成. 控制器功能: ->实现代码逻辑,决定它自带的View的界面显示. -& ...
- [OC]UILabel 文字长的截断方式
Tip: 参考文档:http://blog.csdn.net/reylen/article/details/21012859 @property(nonatomic) NSLineBreakMode ...
- 利用scrapy-splash爬取JS生成的动态页面
目前,为了加速页面的加载速度,页面的很多部分都是用JS生成的,而对于用scrapy爬虫来说就是一个很大的问题,因为scrapy没有JS engine,所以爬取的都是静态页面,对于JS生成的动态页面都无 ...
- 主流的单元测试工具之-JAVA新特性-Annotation 写作者:组长 梁伟龙
1:什么是Annotation?Annotation,即“@xxx”(如@Before,@After,@Test(timeout=xxx),@ignore),这个单词一般是翻译成元数据,是JAVA的一 ...
- ADO.NET 基础 (SQL Server)
一.Web.config配置 <connectionStrings> <add name="constr_name" connectionString=" ...
- centos6.8服务器部署svn
1. 安装svn yum list svn* yum install subversion 2. 测试svn安装是否成功 svnserve –version 3. 创建代码仓库 mkdir /usr/ ...
- javascript原型prototype浅识
C++,java是基于类的语言,主要通过类来实现继承. javascript是基于原型的语言,通过原型来实现继承. 什么是原型?每种物质,都可以追根溯源,原型就是对象的根源.继承就是追根溯源. jav ...