我了解交互式 shell 和非交互式 shell 之间的基本区别。但是,登录 shell 与非登录 shell 的确切区别是什么?
你能举例说明非登录交互式shell 的使用吗?
根据我的阅读,将命令放在括号中应该在子shell 中运行它,类似于运行脚本。如果这是真的,如果 x 未导出,它如何查看变量 x?
x=1
Run Code Online (Sandbox Code Playgroud)
(echo $x)在命令行上运行结果为 1
echo $x正如预期的那样,在脚本中运行不会产生任何结果
非交互式、非登录 shell 将尝试获取 $BASH_ENV 中指定的任何脚本。但是如何保证在 cron 作业或脚本有机会为任何特定会话设置 $BASH_ENV 之前设置 $BASH_ENV ?使用硬编码来编译 Bash 是唯一的选择吗?
在不触发“更改”统计信息的情况下,您可以对文件做什么?例如,看起来简单地改变一点就会触发改变。
将目录链接到根目录时,出现此错误:
$ ln -s ~/inbox/ /
$ ln: //: Is a directory
Run Code Online (Sandbox Code Playgroud)
Bash 通过添加 / 自动完成目录路径。我试过逃跑但没有成功。
$ ln -s ~/inbox /
Run Code Online (Sandbox Code Playgroud)
虽然有效。为什么是这样?
bash ×3
autocomplete ×1
bsd ×1
directory ×1
linux ×1
login ×1
shell ×1
shell-script ×1
slash ×1
stat ×1
subshell ×1
symlink ×1
timestamps ×1