我更喜欢从终端窗口启动 GUI 应用程序,而不是使用图形桌面。一个常见的烦恼是,开发人员通常没有预料到这种类型的使用,因此应用程序会向 stdout 或 stderr 打印大量无用、神秘或无信息的消息。终端上会出现进一步的混乱,因为在后台运行程序,使用 & 会生成有关创建和终止作业的报告。
对于这些接受命令行参数并处理自动完成的问题,有什么解决方法?
相关:https : //stackoverflow.com/questions/7131670/make-bash-alias-that-takes-parameter
我有一个别名 ee,是为我最喜欢的编辑器 mg 定义的。当我做类似的事情时
mg fo
Run Code Online (Sandbox Code Playgroud)
然后点击选项卡,如果文件 foo 存在,我将完成选项卡:
mg foo
Run Code Online (Sandbox Code Playgroud)
在我使用的大多数系统上(例如,多年来所有版本的 ubuntu,以及一些 debian 的安装),
ee fo
Run Code Online (Sandbox Code Playgroud)
也正确完成
ee foo
Run Code Online (Sandbox Code Playgroud)
But on one system I use, which has Debian 6.0 and GNU bash 4.1.5(1)-release, tab completion fails for the version with the alias. Note that this is not a problem with completing the alias itself -- it's a problem with completing the arguments of the aliased command. Is there a way to fix this behavior on the Debian system? Upgrade …
我使用一个名为 Inkscape 的绘图程序,它具有 GUI 和命令行界面。在命令行上使用时,它有大量选项只能通过用户特定的配置文件进行控制,该文件被硬编码为:
$HOME/.config/inkscape/preferences.xml
Run Code Online (Sandbox Code Playgroud)
这个配置文件总是包含最近在 GUI 中使用的选项,这在我编写脚本时可能是错误的。
为了解决这个问题,我让我的脚本保存了一份配置文件的副本,用标准配置文件替换它,运行程序,然后将保存的配置文件复制回来。
这工作正常,但不是很干净。例如,如果脚本的两个实例同时运行,它将无法正常工作。
在 Unix 上,是否有一种更简洁的方法来执行伪造程序的任务,以便它从我想要的某个地方获取其配置文件,而不是从程序中硬编码的路径名?也许涉及链接的东西,或者像BSD监狱之类的东西?
尽管 John the Ripper 已为 debian 和 ubuntu 打包,但截至 2015 年 8 月,打包版本似乎实际上不起作用。这些系统的最新版本使用 sha512 散列函数加密密码,但目前仅通过用户支持的程序版本才能支持该散列函数。此问题的症状是一般错误消息“未加载密码哈希”。你如何让它工作?