小编Chr*_*ris的帖子

立即返回特定返回码的 Unix 命令?

是否有一个标准的 Unix 命令可以执行类似于我下面的示例的操作

$ <cmd here> 56
$ echo Return code was $?
Return code was 56
$
Run Code Online (Sandbox Code Playgroud)

<cmd here>应该是可以 fork-execed 的东西,并在进程退出时留下 56 作为退出代码。在exit和returnshell内建不适合我要找的,因为它们影响调用shell本身它退出了。<some cmd>应该是我可以在非 shell 上下文中执行的东西 - 例如,从 Python 脚本调用subprocess.

例如,/usr/bin/false总是立即退出并返回代码 1,但我想准确控制返回代码是什么。我可以通过编写自己的包装器脚本来获得相同的结果

$ cat my-wrapper-script.sh # i.e., <some cmd> = ./my-wrapper-script.sh
#!/usr/bin/bash
exit $1
$ ./my-wrapper-script.sh 56
$ echo $?
56
Run Code Online (Sandbox Code Playgroud)

但我希望碰巧存在一个标准的 Unix 命令可以为我做到这一点。

command-line shell exit-status

34
推荐指数
3
解决办法
8501
查看次数

将 qcow2 镜像移动到物理硬盘

我有一个 qcow2 映像,用于使用 QEMU 启动 linux 安装;我想将该映像的内容直接放置到物理硬盘驱动器上,以便我可以直接从桌面启动到该 linux 安装。我想做类似的事情dd if=my-qcow2.img of=/dev/sdb。但是,这显然不起作用,因为 qcow2 不会在 qcow2 文件中按逻辑顺序存储虚拟磁盘的内容。有什么建议?

storage cloning qemu

19
推荐指数
1
解决办法
2万
查看次数

Bash 选项卡完成停止搜索

当我输入 bash 并按“tab”键自动完成时,有时需要很长时间。例如,读取目录的文件 IO 需要 5 秒以上,因此我在等待 IO 完成后才能继续输入。我感到沮丧和 Ctrl-C 以便我可以重做我正在输入的内容。

Ctrl-C 很不幸,因为我必须重新输入所有内容。我如何告诉 bash 停止尝试满足我的自动完成请求。

$ /long/path/to/some/d     # once I've typed this, I press <TAB>. I now will be
                           # stuck waiting for perhaps 10 seconds. The only thing I
                           # know to do is Ctrl-C. When I press Ctrl-C, I am forced
                           # to retype the original command string.
$
Run Code Online (Sandbox Code Playgroud)

bash autocomplete

10
推荐指数
1
解决办法
1212
查看次数

标签 统计

autocomplete ×1

bash ×1

cloning ×1

command-line ×1

exit-status ×1

qemu ×1

shell ×1

storage ×1