小编Ash*_*Ash的帖子

在 Bash 中输入单个感叹号有什么作用?

Bash 使用感叹号进行历史扩展,如该问题的答案中所述(例如,使用sudo !!运行先前的命令行sudo)。但是,我找不到任何解释运行以下命令(即单个感叹号)的作用的地方:

!
Run Code Online (Sandbox Code Playgroud)

它似乎不打印任何内容并以 1 退出,但我不确定为什么会这样。我已经在网上和 Bash 手册页中查看过,但除了它是一个“保留字”这一事实之外,找不到任何东西——但也是如此},并运行这个:

}
Run Code Online (Sandbox Code Playgroud)

打印错误:

bash: syntax error near unexpected token `}'
Run Code Online (Sandbox Code Playgroud)

bash history-expansion exit-status

24
推荐指数
2
解决办法
6423
查看次数

我可以从 POSIX shell 中的 stdin 读取单个字符吗?

只有read -r通过POSIX规定; read -n NUM,用于读取NUM字符,不是。从标准输入读取给定数量的字符后,是否有一种可移植的方式自动返回?

我的用例正在打印这样的提示:

Do the thing? [y/n]
Run Code Online (Sandbox Code Playgroud)

如果可能,我希望程序在键入后自动运行yn,而无需用户随后按 Enter 键。

shell-script posix portability

7
推荐指数
1
解决办法
3480
查看次数

为什么apt没有提示我确认安装依赖项?

通常,安装具有当前未安装的依赖项的软件包将使 apt在继续安装之前确认是否需要

$ sudo apt install gnome-terminal
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  gnome-terminal-data gnome-user-guide libhyphen0 libjavascriptcoregtk-4.0-18 libnautilus-extension1a libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-37-gtk2
  libyelp0 yelp yelp-xsl
The following NEW packages will be installed:
  gnome-terminal gnome-terminal-data gnome-user-guide libhyphen0 libjavascriptcoregtk-4.0-18 libnautilus-extension1a libwebkit2gtk-4.0-37
  libwebkit2gtk-4.0-37-gtk2 libyelp0 yelp yelp-xsl
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 23.5 MB of archives.
After this operation, 115 …
Run Code Online (Sandbox Code Playgroud)

ubuntu apt

5
推荐指数
0
解决办法
147
查看次数

为什么有些软件包在 /usr/lib 中提供二进制文件?

我最近正在尝试安装 Go,但被我使用的软件包将二进制文件放入/usr/lib/go-1.9/bin/.

我对此进行了更多研究,并发现*我有 212 个可用的软件包可以将某些内容放入/usr/lib/*/bin/. 为什么包会把二进制文件放在这里而不是在/usr/bin

*通过 apt-file search -xl '/usr/lib/[^/]*/bin/' | wc -l

software-installation

3
推荐指数
1
解决办法
59
查看次数