对于这个问题,让我们考虑一个 bash shell 脚本,尽管这个问题必须适用于所有类型的 shell 脚本。
当有人执行 shell 脚本时,Linux 是一次性加载所有脚本(可能是到内存中)还是逐行读取脚本命令?
换句话说,如果我执行一个shell脚本并在执行完成之前将其删除,执行会被终止还是会继续执行?
我知道我们可以转义像*(){}$with\这样的特殊字符,以便将其视为文字。
例如\*或\$
但是如果.我必须做两次,\\.否则它被认为是特殊字符。例子:
man gcc | grep \\.
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
grep shell-script quoting regular-expression escape-characters
我最近通过 bittorrent 获得了 Arch Linux (march build) iso 文件。
我试图在 VM 中运行它,但它只能进入如下所示的主屏幕(您选择要执行的操作的屏幕):

但是当我选择第一个选项时,它显示一个无处可去的黑屏。硬件信息选项似乎有效,但超出了我的智力范围,所以我忽略了它。
然后我尝试qemu了一个简单的qemu-system-x86_64 ./location to file命令。它显示了一个略有不同的图像:

选择时x64-86出现错误:

我是 Ubuntu 用户,所以我没有得到任何信息,但第一个错误似乎是:
failed to access perctr msr(msr coo1ooo4 is 0)
Run Code Online (Sandbox Code Playgroud) 我正在使用 Manjaro KDE 版本。我有一个带有 Skylake i5 处理器和混合图形的系统。
System: Host: aditya-laptop Kernel: 4.4.8-1-MANJARO x86_64 (64 bit gcc: 5.3.0)
Desktop: KDE Plasma 5.6.3 (Qt 5.6.0) Distro: Manjaro Linux
Machine: System: HP product: HP Notebook v: Type1ProductConfigId
Mobo: HP model: 8136 v: 31.36 Bios: Insyde v: F.1F date: 01/18/2016
CPU: Dual core Intel Core i5-6200U (-HT-MCP-) cache: 3072 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9603
clock speeds: max: 2800 MHz 1: 699 MHz 2: 2694 MHz 3: …Run Code Online (Sandbox Code Playgroud)