Skip to content
← 返回文件与文本处理列表
文件与文本处理任务与配置

命令与脚本:终端、会话与日常操作 · 管理变量、别名与命令入口 ​

返回分篇目录

管理变量、别名与命令入口 ​

查看和设置环境变量后,再处理别名及命令定位;source 在当前 Shell 执行文件,command、which、where 帮助确认命令入口。

printenv · 打印所有或环境变量的值 ​

更多信息:https://www.gnu.org/software/coreutils/manual/html_node/printenv-invocation.html。

  • 显示所有环境变量的键值对:
bash
printenv
  • 显示特定变量的值:
bash
printenv {{HOME}}
  • 显示变量的值并以 NUL 而不是换行符结尾:
bash
printenv {{[-0|--null]}} {{HOME}}

export · 命令为当前 shell 中的子进程进行环境变量设置 ​

更多信息:https://manned.org/export.1posix。

  • 设置环境变量:
bash
export {{变量名}}={{值}}
  • 向环境变量 $PATH 追加一个路径名:
bash
export PATH=$PATH:{{追加的 path 路径}}

unset · 删除 Shell 变量或函数 ​

更多信息:https://www.gnu.org/software/bash/manual/bash.html#index-unset。

  • 删除变量 foo,如果该变量不存在则删除函数 foo:
bash
unset {{foo}}
  • 删除变量 foo 和 bar:
bash
unset -v {{foo bar ...}}
  • 删除函数 my_func:
bash
unset -f {{my_func}}

alias · 创建别名——用给定的字符串指代特定的命令 ​

别名只会在当前的 shell 会话中生效,除非它们在 shell 的配置文件中被定义,例如~/.bashrc。 另请参阅:unalias。 更多信息:https://www.gnu.org/software/bash/manual/bash.html#index-alias。

  • 列出所有别名:
bash
alias
  • 创建一个通用的别名:
bash
alias {{别名}}="{{命令}}"
  • 通过给定的别名查看它所指代的命令:
bash
alias {{别名}}
  • 移除一个别名:

参见 unalias。

  • 将 rm 转换为交互式命令:
bash
alias rm="rm --interactive"
  • 创建别名 la 来指代 ls --all:
bash
alias la="ls --all"

unalias · 移除别名 ​

另请参阅:alias。 更多信息:https://www.gnu.org/software/bash/manual/bash.html#index-unalias。

  • 移除一个别名:
bash
unalias {{别名}}
  • 移除所有别名:
bash
unalias -a

source · 在当前 Shell 中执行来自文件的命令 ​

更多信息:https://www.gnu.org/software/bash/manual/bash.html#index-source。

  • 执行指定文件中的内容:
bash
source {{路径/到/文件}}
  • 执行指定文件中的内容(也可以用.替代source):
bash
. {{路径/到/文件}}

command · 执行指定命令时跳过同名 Shell 函数;仍可执行内置命令或 PATH 中的程序 ​

更多信息:https://www.gnu.org/software/bash/manual/bash.html#index-command。

  • 从字面上执行 ls 程序,即使存在 ls 别名:
bash
command {{ls}}
  • 显示指定命令的可执行程序路径或别名定义:
bash
command -v {{命令名}}

which · 在用户的$PATH中寻找可执行文件的路径 ​

另请参阅:whereis, type。 更多信息:https://manned.org/which。

  • 在$PATH中寻找可执行文件并打印第一个匹配的结果:
bash
which {{executable}}
  • 如果有多个匹配结果则打印所有结果:
bash
which {{[-a|--all]}} {{executable}}

where · 报告所有已知的命令入口 ​

它可以是一个在$PATH中的可执行文件,一个别名,或者一个 shell 內建命令。 更多信息:https://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html。

  • 报告所有已知命令入口:
bash
where {{command}}

compgen · 用于在 bash 中自动完成的内置命令,按两次 <Tab> 键即可调用该命令 ​

用于在 bash 中自动完成的内置命令,按两次 <Tab> 键即可调用该命令。 另请参阅:complete, compopt。 更多信息:https://www.gnu.org/software/bash/manual/bash.html#index-compgen。

  • 显示所有可以执行的命令:
bash
compgen -c
  • 列出所有以指定字符串开头的可执行命令:
bash
compgen -c {{字符串}}
  • 列出所有别名:
bash
compgen -a
  • 列出所有可以运行的函数:
bash
compgen -A function
  • 列出所有 shell 的保留关键字:
bash
compgen -k
  • 查看以 'ls' 开头的所有可用命令和别名:
bash
compgen -ac {{ls}}
  • 列出系统中所有用户:
bash
compgen -u
  • 显示帮助:
bash
compgen --help

继续阅读