bash - .bashrc 中 $0 的值

标签 bash shell

为什么~/.bashrc中$0的值为bash

echo "`pwd`/$0 loaded"

我预计/home/thinker3/.bashrc已加载 但结果:

thinker3@ubuntu:~$ source .bashrc
/home/thinker3/bash loaded

感谢 Michael Hoffman,我的问题得到了解决,我补充了

echo $BASH_SOURCE loaded

到 ~/.bashrc 和/etc/profile,然后:

/home/thinker3/.bashrc loaded
thinker3@ubuntu:~/addons$ su - root
Password: 
/etc/profile loaded
root@ubuntu:~# 

最佳答案

正如 Uroc327 指出的,.bashrc 是有源的,因此 $0 只是被调用进程的名称(可能是 bash,就像您从命令行回显了 $0)。加载 .bashrc 时,$BASH_SOURCE 的值将包含文件的位置。

关于bash - .bashrc 中 $0 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17381197/

相关文章:

bash - 将 stderr/stdout 消息发送到函数并捕获退出信号

bash - ./script 和 sh 脚本之间的区别

linux - Bash 复杂的管道依赖

linux - 记录在单独进程中运行的脚本的输出

shell - 使用 nohup 运行带参数的 shell 脚本

linux - 我正在使用触摸在我桌面上的文件夹中创建一个文件...当我尝试这个时它说找不到命令

linux - 如何根据公共(public)列合并文件?

linux - Sudo - 等待 child ,并获取 child PID

bash - 在 unix FOR LOOP 中显示语法错误(错误标记为 "<")

linux - 在 Linux 中搜索与特定模式匹配的所有子文件夹中的文件