小编tes*_*ter的帖子

我们何时以及为什么需要在 bash 上使用 `wait` 命令?

bash shell 不是已经将命令一一运行,等待执行的命令完成吗?那么我们wait什么时候以及为什么需要这个命令呢?

bash wait

17
推荐指数
1
解决办法
2276
查看次数

bash shell 中`command` 命令的“p”选项究竟有什么作用?

command bash 中的命令:运行带有参数的命令,忽略任何名为 command 的 shell 函数。

' -p ' 选项意味着使用$PATH的默认值来保证找到所有标准实用程序。

这里提到的默认 PATH 究竟是什么?当我定义时export PATH="/home/ozgur/":$PATH,我不是在默认值上添加一个新的 PATH 路径吗?

## For Example
~$ export PATH="/home/ozgur/":$PATH
~$ echo $PATH
/home/ozgur/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
~$ script.sh
hey, i am working !
~$ command -p script.sh
hey, i am working !
Run Code Online (Sandbox Code Playgroud)

当我使用命令的“ -p ”选项时command,我希望它忽略我定义的新 PATH 路径,但这并没有发生。我到底错过了什么?什么是使用“点-p ”选项,如果用户的PATH路径变化并不与“覆盖-p ”选项?

bash path command

12
推荐指数
1
解决办法
951
查看次数

`set -o keywords` 在 bash 上做什么?

bash shell 上的命令指定的“ keyword ”选项到底有什么作用set?

选项:

set -o keyword

或者

set -k

一个简单的例子就足够我理解了。

bash set

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

是否有命令可以在 zsh 上获取内置命令?

是否有命令可以在 zsh 上获取内置命令?例如,可以使用compgen -bbash shell 中的命令获取所有内置命令。

zsh shell-builtin compgen

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

为什么文件描述符只打开和读取一次?

为什么我们自己打开文件描述符重定向到stdin只能使用1次?请看下面的例子来理解我想说的话。使用 cat 命令读取一次后,第二次不会通过相同的文件描述符读取文件。

??$ exec 6< input.txt
??$ cat <&6
i am just string
and another string..
??$ cat <&6
??$
Run Code Online (Sandbox Code Playgroud)

bash file-descriptors stdin

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

bash 中“jobs”命令的“x”选项的使用示例

当我查看jobs -x解释时,它说:

如果提供了 -x 选项,作业将用相应的进程组 ID 替换命令或参数中找到的任何作业规范,并执行命令、向其传递参数、返回其退出状态。

如果没有例子,这个解释是极其不充分的。x如果可以的话,你能举一个现实生活中“ ”选项用法的例子吗?我们什么时候需要这些选项?

bash jobs

6
推荐指数
1
解决办法
394
查看次数

声明命令中 t 和 f 参数的 Bash shell 示例

我不明白声明命令中的 t 和 f 参数到底为什么以及如何使用它们。能给我一些简单的插图吗?

shell-script

4
推荐指数
1
解决办法
903
查看次数

关于在 `set` 上列出 bash 选项

当我们用命令打印控制台设置时echo $-,我们himBHs默认输出。但是,当我们在任何脚本文件中运行相同的命令时,我们仅输出hB.

root@root:~# echo $-
himBHs
root@root:~# ./abc.sh 
hB
root@root:~#
Run Code Online (Sandbox Code Playgroud)

我想知道的是,即使我们从/bin/bash环境中运行脚本,为什么不应用相同的默认设置?

例如,当我使用/bin/bash 控制台上的命令启动新的子 shell 进程并列出设置时,我会得到输出himBHs。

root@root:~# /bin/bash
root@root:~# echo $-
himBHs
Run Code Online (Sandbox Code Playgroud)

当我尝试从shell 文件中执行相同的过程时,我得到的输出是“ hB ”。

root@root:~# ./abc.sh 
hB
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用 shebang 和不使用 shebang 的相同过程,但是我的脚本文件是或者bash script_file如果./script_file我运行,它会给出相同的结果(hB)。

我究竟缺少什么?

bash set

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

Bash Shell“noexec”选项使用目的

-n 不执行;读取命令并检查语法,但不执行它们。


你能举例说明什么时候我们需要“ noexec ”(Bash 选项之一)吗?

有人可以给我一个如何正确使用此选项的例子吗?

bash options set

4
推荐指数
1
解决办法
1343
查看次数

使用“Ctrl + C”和“kill -2”命令发送信号有什么区别?

例如,当我运行下面的脚本时,如果我使用Ctrl + C发送INT信号,脚本文件会立即中断。但是,当我尝试使用 Kill 命令执行相同的过程时,该命令预计会完成以使中断信号有效。究竟是什么原因造成这种情况呢?kill -2 pidsleep

#!/bin/bash

trap 'echo signal received!!' SIGINT

echo "The script pid is $$"
sleep 30
Run Code Online (Sandbox Code Playgroud)

bash signals

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

Bash printf 格式化不起作用

例如,\c格式不起作用。我正在输入printf "ABC\ctest"bash 控制台和结果;

ABC\ctest
Run Code Online (Sandbox Code Playgroud)

考虑到\c格式的属性,预期的输出应该是 just 的形式ABC。

我也没有找到详细说明在 bash 上使用 printf 命令的正确来源。此外,如上例所示,为 printf 命令指定的手册页上的属性无法正常工作。

请向我展示详细解释 printf 命令的 bash 源代码。因为我现在很迷茫。

bash printf

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

bash 上的方括号和测试命令有什么区别?

单方括号[和test命令都内置在 bash shell 中。

如果方括号[和test命令具有相同的功能,为什么会有两个单独的命令?

bash test

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

为什么首先执行命令替换?

我正在研究 Bash shell。当我通过以下方式输入命令时

cmd1 $(cmd2) $(cmd3)
Run Code Online (Sandbox Code Playgroud)

执行命令的顺序是: cmd2-> cmd3->cmd1

当我查看Bash shell的shell操作顺序时,我无法完全掌握这种情况。

您能否准确指定 Bash shell 如何处理“命令替换”?例如,标记化是否在每次命令替换时递归返回?

bash command-substitution

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