问题标签 [bash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
29 回答
225070 浏览

bash - 从 shell 脚本检查目录是否包含文件

从 shell 脚本中,如何检查目录是否包含文件?

类似的东西

但如果目录包含一个或多个文件(上述文件仅适用于恰好 0 或 1 个文件),则此方法有效。

0 投票
11 回答
184689 浏览

linux - Linux 相当于 DOS 暂停是什么?

我有一个 Bash shell 脚本,我想在其中暂停执行,直到用户按下一个键。在 DOS 中,这很容易通过pause命令完成。我可以在我的脚本中使用 Linux 等价物吗?

0 投票
11 回答
161497 浏览

linux - 如何在 *nix 中登录时运行脚本?

我知道我曾经知道如何做到这一点,但是......你如何在 unix 登录时运行脚本(bash 可以)?

0 投票
2 回答
3576 浏览

bash - 如何更改 cygwin rxvt 中显示的颜色?

当我打印时,"\[\e[34m\]sometext"我得到一些蓝色的文本,但是我可以在某处指定蓝色的阴影吗?

0 投票
9 回答
34663 浏览

bash - 从 shell 脚本生成交互式 telnet 会话

我正在尝试编写一个脚本以允许我登录到控制台服务器的 48 个端口,以便我可以快速确定哪些设备连接到每条串行线路。

本质上,我希望能够有一个脚本,给定主机/端口列表,远程登录到列表中的第一个设备并让我处于交互模式,以便我可以登录并确认设备,然后当我关闭telnet 会话,连接到列表中的下一个会话。

我面临的问题是,如果我从可执行的 bash 脚本中启动 telnet 会话,会话会立即终止,而不是等待输入。

例如,给定以下代码:

当我运行命令'echo "hostname" | testscript.sh' 我收到以下输出:

有谁知道停止自动关闭 telnet 会话的方法?

0 投票
6 回答
7842 浏览

windows - 在 cygwin/msys bash 下使用 `pkg-config` 作为命令行参数

我正在尝试使用 cygwin 作为 Windows 下的构建环境。我对 3rd 方包有一些依赖关系,例如 GTK+。

通常,当我在 Linux 下构建时,在我的 Makefile 中,我可以添加对 pkg-config 的调用作为 gcc 的参数,所以结果如下:

这在 Linux 下运行良好,但在 cygwin 中我得到:

现在,我只是手动运行 pkg-config 并将输出粘贴到 Makefile 中,这真的很糟糕。有没有解决或解决此问题的好方法?

Make不是罪魁祸首。我可以复制并粘贴 make 用来调用 gcc 的命令行,它本身将运行 gcc,它会因“:无效参数”而停止。

我写了一个小测试程序来打印命令行参数:

注意单引号。

运行测试程序:

注意最后一行的单引号。看起来 argc 比它应该的大一,并且 argv[argc - 1] 为空。在 Linux 上运行相同的测试没有这个结果。

也就是说,是否有某种方式可以让 Makefile 将 pkg-config 的结果存储到一个变量中,然后使用该变量,而不是使用反引号运算符?

0 投票
7 回答
132072 浏览

bash - 如何在 bash 中转义通配符/星号字符?

例如:

并使用\转义字符:

我显然在做一些愚蠢的事情。

我如何获得输出BAR * BAR

0 投票
6 回答
3756 浏览

bash - 在 bash 中,环境变量无法正确扩展制表符

在 bash 中,环境变量在 echo 命令之后会正确地进行制表符扩展,例如:

但是在 cd 或 cat 之后,bash 在 $ 符号之前放置一个 \,如下所示:

如果我使用变量作为命令的第二个参数,它根本不会扩展:

我的 .bashrc 或 .inputrc 文件中有什么神秘的选项让我如此痛苦?

0 投票
13 回答
33348 浏览

windows - 如何将 .sh 文件与 Cygwin 关联?

我想通过双击 Windows 中的 .sh 文件在 Cygwin 中运行长 rsync 命令。它必须从文件的包含目录(例如/cygdrive/c/scripts/)开始,以便相对路径起作用。有人让这个工作吗?

注意:我刚刚在这里找到了一个管理 Windows 上下文菜单的 Cygwin 包(Bash Prompt Here)。它可能有一些线索。

0 投票
6 回答
4131 浏览

macos - OS X 终端中的 Bash 提示已损坏

我在 os X Terminal 应用程序中使用 bash,当我滚动浏览历史记录时,我的自定义 $PS1 中断。

也试过 PS1="${BLUE}\u${CYAN}@${RED}\h${BLUE}\w\r\n[${red}\$${NC}]"

问题似乎出在换行符中。我在 Slackware 上使用过这个 bash 提示,没有问题。