目前我正在编写一个 Bash 脚本,它具有以下要求:
我知道这getopts
将是可移植性方面的首选方式,但 AFAIK 它不支持长选项。
getopt
支持长选项,但BashGuide强烈建议反对它:
永远不要使用 getopt(1)。getopt 无法处理空参数字符串或带有嵌入空格的参数。请忘记它曾经存在过。
因此,仍然可以选择手动解析。这很容易出错,会产生相当多的样板代码,而且我需要自己处理错误(我想自己getopt(s)
进行错误处理)。
那么,在这种情况下,首选是什么?
我刚开始学习 Linux,我之前的所有编程经验都是使用 Windows 平台。我遇到了 Vim 编辑器,并读到它是模式编辑器,与记事本不同,记事本被称为无模式编辑器。
您能解释一下无模式编辑器和模态编辑器之间的一般区别吗?
除了问题“用户名不在 sudoers 文件中。将报告此事件”解释了错误的程序方面并提出了一些解决方法,我想知道:这个错误是什么意思?
X is not in the sudoers file. This incident will be reported.
Run Code Online (Sandbox Code Playgroud)
错误的前一部分清楚地解释了错误。但是第二部分说“会报这个错误”?!但为什么?为什么会报这个错误,在哪里?给谁?我既是用户又是管理员,没有收到任何报告:)!
我打开了一个目录vim some/dir
。我可以在树中导航,但是一旦我打开一个文件,我想知道如何关闭文件视图以返回到目录列表以导航到另一个文件。:wq
没有选择,因为它会关闭整个 vim 会话。我想有一个 for 模式,但我不知道它叫什么,也不知道我如何启动它。
如何关闭文件到文件导航视图?
cp
是一个非常流行的 Linux 工具,由 GNU 基金会的 coreutils 团队维护。
默认情况下,具有相同名称的文件将被覆盖,如果用户想要更改此行为,他们可以添加--no-clobber
到他们的复制命令中:
Run Code Online (Sandbox Code Playgroud)-n, --no-clobber do not overwrite an existing file (overrides a previous -i option)
为什么不是这样的--no-overwrite
?
对于刚接触计算机的人来说,最简单的 linux 是什么?
这里的计算机有 256Mb RAM 和 40GB 硬盘。
更新:他们中的大多数显然有超过 265MB 的 RAM,有些有 1GB。
我已经安装了 Linux Mint Debian Edition ( LMDE ),用户可以在经过一些混乱和我的帮助后弄清楚。我选择它是因为它是一个滚动发行版以及我读过的关于 Linux Mint 的所有伟大的东西。我之前也用过 Ubuntu,Mint 看起来像 Ubuntu+。
我不确定它是否是他们最容易使用的发行版,因为尝试使用默认 Libre Office 的人发现它与所有这些菜单混淆。(他们似乎使用最多的程序是网络浏览器,他们发现铬相当简单)。
附带说明一下,安装不是很顺利,打印机(HP LaserJet 1020)需要一些工作来设置,但是一旦完成并且操作系统升级,它就可以很好地工作。
有没有办法让 Linux 机器(运行 X11)上的滚动更像 OS X 的自然滚动?对于“自然滚动”,我的意思是您可以轻弹页面,滚动时有动力。
我有一台运行 Arch Linux 的 macbook,我想让触控板体验更好一点。
当我这样做 -CD ..
而不是cd ..
它给我错误说 -
CD: command not found
Run Code Online (Sandbox Code Playgroud)
为什么在涉及 linux 命令时终端区分大小写?我的意思是您应该能够使用“全部大写”或“全部小写”字符执行命令。
我知道这是由于某种原因,但我只是好奇。
我想要以下命令结构:
command && check-status | less && followup-command
Run Code Online (Sandbox Code Playgroud)
这将在用户与 交互时暂停执行less
。用户如何强制less
以非零状态退出以防止followup-command
运行?
我目前正在使用 less 458 (POSIX regular expressions)
当我打开 Gtk 文件对话框时,左侧有一个名为“Places”的框,其中列出了“Search”、“Recently Used”、一堆目录和一些看起来像卷的东西。我不关心这些条目中的任何一个,但在大多数情况下我不介意,除了一个。
其中一个卷位于外部硬盘上,大部分时间都在减速。打开 Gtk 文件对话框会唤醒这个磁盘(大概是因为应用程序读取了磁盘大小或标签,而该信息不在缓存中)。我想让这停止。
etch200808
是已安装文件系统的标签。我安装了两个 500MB 的文件系统,其中一个在我不想启动的外部磁盘上。我不确定 412 GB 是什么:我没有接近这个大小的文件系统;我确实有一个大小合适的 LVM 物理卷。我不知道为什么在这个系统上显示这些而不是任何其他各种类型的卷。
如何强制将此卷(或所有卷或所有目录)移出“位置”框?请注意,这不仅仅是未列出,而是未访问挂载点,因此我的磁盘不会因为我想从 Gtk 应用程序打开或保存文件而旋转。
我正在运行 Debian wheezy,但我也想知道其他发行版和几代的答案——如果只是因为这台机器很快就会升级到 jessie。
user-interface ×10
directory ×2
vim ×2
bash ×1
coreutils ×1
cp ×1
editors ×1
exit-status ×1
file-opening ×1
getopts ×1
gnu ×1
gtk ×1
history ×1
less ×1
linux ×1
mount ×1
open-files ×1
options ×1
shell ×1
shell-script ×1
sudo ×1
touchpad ×1
x11 ×1