Linux alias利用

打印 上一主题 下一主题

主题 864|帖子 864|积分 2592

在 Linux 系统中,alias 下令用于为下令创建别名。别名可以简化下令的输入,特别是对于那些长且复杂的下令。以下是一些关于 alias 下令的基本用法和示例。
基本用法

创建别名

  1. alias shortname='long command'
复制代码
比方,将 ls -al 下令创建一个别名 ll:
  1. alias ll='ls -al'
复制代码
实行ll指令将实行 ls -al 下令,并显示当前目录的详细列表。
检察当前别名

  1. alias
复制代码
检察特定别名

  1. alias shortname
复制代码
移除别名

  1. unalias shortname
复制代码
比方,移除 ll 别名:
  1. unalias ll
复制代码
永世生存别名

常见的可以配置别名的文件
  1. ~/.bashrc:适用于交互式非登录 shell。通常在你打开一个新的终端窗口或 tab 时加载。
  2. ~/.bash_profile 或 ~/.profile:适用于登录 shell。通常在你登录系统时加载,例如通过 SSH 或在控制台登录。
  3. /etc/profile:系统范围的配置文件,适用于所有用户的登录 shell。
复制代码
在 ~/.bashrc 中添加别名

其他文件中添加别名雷同
   # 打开 .bashrc 文件
vi ~/.bashrc
  # 添加别名定义
alias ll='ls -al'
  # 生存文件并退出编辑器
# 重新加载 .bashrc 文件
source ~/.bashrc
  定义别名时不改变程序当前运行路径

如果自己编译的程序,放置在Linux下的某个文件夹下,想利用alias的方式,可以在随意的目录调用该程序,且不想改变该程序的运行路径(该程序大概在运行时会利用相对路径的方式调用配置文件),alias的编写如下:
编译的程序放置的目录:/home/test_folder/your_program.bin
  1. vi ~/.bashrc
  2. # 增加如下
  3. alias pm='(cd /home/test_folder/ && ./your_program.bin)'
  4. source ~/.bashrc
复制代码
如许程序的当前运行名录就是:/home/test_folder了
带参数的下令如何在全局运行

如果自己编译的软件,必要输入option,这时间就不能利用alias指令了,由于alias指令不支持传参,可以在软件所在的目录创建一个myprogram.sh脚本。
   vi myprogram.sh
  增加的内容如下:
  1. #!/bin/bash
  2. # 获取脚本所在的目录
  3. SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
  4. # 切换到脚本所在的目录
  5. cd "$SCRIPT_DIR"
  6. # 运行软件并传递所有参数
  7. ./mysoftware "$@"
复制代码
设置脚本的启动权限
   chmod +x /folder_path/mysoftware.sh
  编辑你的 shell 配置文件,比方 ~/.bashrc 或 ~/.bash_profile:
在文件的末尾添加下面的配置:
  1. export PATH=$PATH:/opt/mysoftware
复制代码
/opt/mysoftware :软件以及启动软件的sh脚本所在的路径
重新加载配置文件:
   source ~/.bashrc
  如许软件可以在全局实行,而且不会改变软件的当前运行路径。
脚本表明:
  1. SCRIPT_DIR=$(dirname "$(readlink -f "$0")") 是一个常见的 Bash 语句,用于获取当前脚本所在的目录。让我们逐步解析这条语句的含义:
  2. $0:这是一个特殊变量,表示当前脚本的名称。如果脚本是通过相对路径调用的,那么 $0 也会包含相对路径。
  3. readlink -f "$0":readlink 命令用于解析符号链接,并返回目标文件的绝对路径。-f 选项表示返回文件的绝对路径。如果 $0 是一个相对路径,readlink -f "$0" 会将其转换为绝对路径。
  4. $(...):这是命令替换语法,用于执行括号中的命令,并将其输出作为结果返回。在这个例子中,$(readlink -f "$0") 会返回当前脚本的绝对路径。
  5. dirname ...:dirname 命令用于去掉文件名,返回目录部分。dirname "$(readlink -f "$0")" 会返回当前脚本所在的目录的绝对路径。
  6. SCRIPT_DIR=...:将上述命令的输出赋值给变量 SCRIPT_DIR,即当前脚本所在的目录。
复制代码






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表