shopt

在 .bashenv 中使用 shopt extdebug
shopt

在 .bashenv 中使用 shopt extdebug

我在 Linux 的 Windows 子系统中使用 Ubuntu。 通过此建议的方法回答我可以在启动新的非交互式 shell 时运行代码: $ cat ~/.bashenv if [[ $- != *i* ]]; then echo foo fi $ export BASH_ENV=~/.bashenv $ bash -c 'echo bar' foo bar 现在我正在寻找启用 shopt extdebug 的陷阱功能。 我尝试过这样的事情: $ cat ~/.bashenv #!/bin/bash say_foo() { echo "foo" ...

Admin

展开文件列表,包括在文件中定义的 glob
shopt

展开文件列表,包括在文件中定义的 glob

我正在使用 bash。假设我有一个名为 的文件filelist,其中包含文件列表: stuff/**/*.csv # to keep it simple (without loops), assume just one entry #*.txt #foo.md #bar.bin 我想扩展一下: ls $(cat filelist) 我得到: ls: 无法访问 'stuff/**/*.csv': 没有这样的文件或目录 我想要的是将其扩展为一个文件列表,我可以将其传输到我的主应用程序进行处理。我怎样才能做到这一点? ...

Admin

bash extglob 中的模式列表包含 / 和 |
shopt

bash extglob 中的模式列表包含 / 和 |

这是命令(及其输出)的记录,解释了我的问题: /tmp/example $ shopt -s cdspell on checkwinsize on cmdhist on complete_fullquote on direxpand on dirspell on expand_aliases on extglob on extquote on failglob on force_fignore on globstar on...

Admin

调用 bash 时,选项“--rcfile /dev/null”是否与“--norc”具有相同的效果?
shopt

调用 bash 时,选项“--rcfile /dev/null”是否与“--norc”具有相同的效果?

为了避免出现 XY 问题场景,我将解释为什么我要问这个问题。 我记得我已经shopt -s extglob在我的~/.bashrc文件中进行了设置,因为诸如此类的事情@(pattern-list)确实有效。 但是,我刚刚查看过~/.bashrc,该选项尚未设置。 所以我决定看看它来自哪里,结果发现 如果我通过启动另一个 shellbash --norc然后运行shopt我会看到这一行extglob off, 然而,如果我通过 启动它bash --rcfile /dev/null,那么shopt表明extglob on, 这并不能真正帮助我找出extglo...

Admin

如何阻止它再次发生
shopt

如何阻止它再次发生

我认为为我的存储库设置一个别名会很聪明dotfiles,我在其中保存了我的点文件,例如.bashrc. 继推荐,我将其添加到我的.bashrc: shopt -s cdable_vars export dotfiles=$HOME/dotfiles/ 然后我想通过将 bashrc 移动到 dotfiles 来进行测试: mv .bashrc dotfiles 然而,bashrc 从未出现过$HOME/dotfiles/——它也不再出现在我的主文件夹中。 有人知道它会去哪里吗? ...

Admin

即使 histappend 设置为 on,bash 也会覆盖历史记录
shopt

即使 histappend 设置为 on,bash 也会覆盖历史记录

我试图将 bash 历史记录写入文件 ( ...| 1 |...),然后更改环境变量...| 2 |...中的一个字符 ( )HISTTIMEFORMAT运行几个命令,并能够查看第一次运行的命令以及第二次运行的命令。 问题: 为什么当我更改值时,它会更改同一“列”中之前的所有值? 为什么shopt -s histappend没有区别? 操作系统: [root@test ~]# cat /etc/*-release CentOS release 6.10 (Final) [root@test ~]# export HISTTIMEFORMAT='%a %...

Admin

别名在交互式 zsh 中不起作用
shopt

别名在交互式 zsh 中不起作用

我有一个奇怪的问题,当我键入 时,会列出我的别名alias,但它们不可执行。 在这里,我尝试别名d为date: % which alias alias: shell built-in command % alias d=/usr/bin/date 但它不运行: % d zsh: command not found: d % /usr/bin/date Sun 19 Apr 2020 20:30:06 +07 我是否缺少一些晦涩的选项? ...

Admin

脚本内的扩展通配符 - 我做错了什么?
shopt

脚本内的扩展通配符 - 我做错了什么?

所以我尝试使用交互式脚本选择一系列文件。 最终目标是使用该read命令,但为了此处演示,我glob手动分配了变量 #!/bin/bash shopt -s extglob # read -rp "Please enter a globbing string:"$'\n' glob # This will give me an error (See below) glob=*2020_04_03_{06..18}.jpg /bin/ls -la /mnt/drive1/images/*/*/${glob} # While this will retur...

Admin

解析器使用哪些 bash shell 选项?
shopt

解析器使用哪些 bash shell 选项?

将我们的注意力仅限于bash, 在这个答案Stack Overflow 上有如下报道。 extglob是一个使用的标志由解析器。函数、复合命令等。在执行之前被完整解析。因此,extglob必须在解析该内容之前设置;在执行时但在解析时间之后设置它不会对先前解析的内容产生任何影响。 这也是为什么你不能shopt -s extglob; ls !(*.txt)作为单行运行(当extglob之前未设置时),但必须在两个命令之间有一个换行符。 但是,对于其他 shell 选项而言,情况并非如此。例如考虑以下情况。 $ ls -a . .. ...

Admin

设置 bash shell 选项“checkhash”是否真的可以提高 bash 命令的性能?
shopt

设置 bash shell 选项“checkhash”是否真的可以提高 bash 命令的性能?

前提:在修改的过程中.bashrc,经过shopt 在线 bash 手册可以处理的不同 shell 选项的页面shopt,我遇到了该选项checkhash,根据描述: checkhash If this is set, Bash checks that a command found in the hash table exists before trying to execute it. If a hashed command no longer exists, a normal path search is performe...

Admin

为什么 shopt -s nullglob 删除数组元素中带有问号的字符串?
shopt

为什么 shopt -s nullglob 删除数组元素中带有问号的字符串?

这个小设定让我抓狂: shopt -s nullglob 我在 bash 4.3 脚本中使用它作为全局设置避免扫描空目录时出错。 现在我发现了一个我不明白的奇怪问题: # shopt -s nullglob # array=(foo bar) # echo "${array[@]}" foo bar # array=(foo bar?) # echo "${array[@]}" foo # shopt -u nullglob # array=(foo bar) # echo "${array[@]}" foo bar # array=(foo ba...

Admin

在复合命令中设置 bash 选项
shopt

在复合命令中设置 bash 选项

我发现extglob仅在复合复合中设置 shell 选项会导致后续扩展 glob 失败。是否需要在复合命令之外设置 shell 选项?我在 Bash 手册页中没有看到这样的要求。 例如,以下脚本可以正常工作(打印a.0 a.1): #!/bin/bash touch a.0 a.1 \ a.b.0 a.b.1 shopt -s extglob ls "a."!(b*) 但是,如果最后两行作为复合命令执行,则脚本将失败并出现以下错误: syntax error near unexpected token `(' ` ls "a."!(...

Admin

shopt -s cdable_vars 未按预期扩展
shopt

shopt -s cdable_vars 未按预期扩展

在我的集群中(我没有根访问权限),我在我的中定义了.bashrc: shopt -s cdable_vars shopt -s direxpand export s13=/c13scratch/rudrab 我是以下的所有者/c13scratch/rudrab: ll /c13scratch/ |\grep rudrab drwxr-xr-x 15 rudrab users 4.0K Apr 29 23:58 rudrab 现在,我面临着以下几种情况: cd s1<tab>或cd s13<tab>:什么...

Admin

MV 排除文件夹不起作用
shopt

MV 排除文件夹不起作用

我正在尝试复制文件夹内的所有文件/目录,但想排除一个文件夹,因为我希望所有其他文件都位于该文件夹内。为了更好地演示下面是文件夹结构 - VideosFolder L File1 L File2 L File3 L TutorialFolder 现在我想File1 File2 File3被感动成TutorialFolder这样 - VideosFolder L TutorialFolder L File1 L File2 L File...

Admin