我正在学习一些关于 Linux 的知识,我想知道是否有人可以向我展示如何创建一个别名视图来打印 PATH 和 HOME 变量的值。我想回答的是这样的:
function path(){
old=$IFS
IFS=:
printf "%s\n" $PATH
IFS=$old
}
不,这不是家庭作业,而是《Linux 命令行和 Shell 脚本圣经》一书中的一种培训任务**
答案1
您提到了一个别名,因此这些可以起作用:
alias home='printf "%s\n" "$HOME"'
alias path='printf "%s\n" "$PATH"'
请注意,这几乎是总是在 *nix shell 中对变量使用双引号是个好主意。它可以防止可能带来麻烦的扩展。你可以在这里阅读更多,但请注意本文是以 Bash 为中心的。
Bash 中心主义本身就给人们带来了各种麻烦,尤其是在容器世界中。Dash
当 shell 距离抽象层有好几层时,你永远不知道像 POSIX shell 这样的严格 shell 何时会解释你的脚本(比如动态生成 Dockerfile 并启动多个容器的检测工具)。