问题标签 [shopt]
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.
bash - 无法在 Bash 4 中启用 globstar
我将以下内容未成功放入我的 .bashrc
我正在尝试通过
并将其与
如何在 Bash 4 中启用 globstar?
bash - 为什么非交互式 Bash shell 中的别名不起作用
我正在尝试在非交互式 bash shell 中使用别名。我已经定义了我的别名~/.bashrc
并设置了变量BASH_ENV=~/startUpFile
. startUpFile 的内容是source ~/.bashrc
.
alias
当我执行命令时,我可以看到我的别名被识别。但是,如果我尝试使用 中定义的别名~/.bashrc
,Bash 将无法识别它。它给了我未知的命令错误。
使用 TCSH shell 很容易做到这一点,因为~/.cshrc
文件总是被读取的。
有什么想法可以用 Bash shell 做到这一点吗?
bash - 什么递归扩展到当前目录中的所有文件?
我知道**/*.ext
扩展到所有匹配的子目录中的所有文件*.ext
,但是什么是类似的扩展,包括当前目录中的所有此类文件?
bash - 无法让 expand_aliases 生效
我无法让 expand_aliases 在 bash 中生效。我尝试了很多不同的东西,但没有任何效果。
这是一个简单的测试用例:
和输出:
(是的,我使用 shopt 而不是 -O 选项来 bash,只是为了证明它正在完成。)
有任何想法吗?
linux - 使用 shell globbing 匹配所有嵌套目录下的所有文件
有没有办法使用 shell globbing 来识别嵌套目录?
因此,如果我有 dir/dir1/dir2/dir3/dir4/dir5/.. 并且我在所有这些文件下都有文件,那么与所有目录下的所有文件匹配的等效通配符模式是什么,类似于 - 例如 -ls -R
bash - ash 是否与 bash 的“nullglob”选项等效?
如果一个 glob 模式不匹配任何文件,bash
将只返回文字模式:
您可以通过设置 shell 选项来修改默认行为,nullglob
因此如果没有匹配项,您将得到一个空字符串:
那么在 中是否有等效的选项ash
?
bash - shopt -s dirspell 有什么作用?
我无法弄清楚,我了解 shopt -s cdspell 但无法找出 shopt -s dirspell 的作用。
Bash 参考指南说:
拼写
如果设置,如果最初提供的目录名称不存在,Bash 会在单词完成期间尝试对目录名称进行拼写更正。
我在几个目录上尝试了几次,但这不是行为。
我在 i386-apple-darwin10.7.0 上使用 bash 4.2.10(2)
bash - 有没有一种简单的方法可以为一个 glob 设置 nullglob
在 bash 中,如果你这样做:
你会发现array
现在有一个元素,,"/tmp/empty/*"
而不是你想要的零。值得庆幸的是,可以通过使用打开 nullglob shell 选项来避免这种情况shopt -s nullglob
但是 nullglob 是全局的,在编辑现有的 shell 脚本时,可能会破坏某些东西(例如,是否有人检查了退出代码ls foo*
以检查是否存在以“foo”开头的文件?)。所以,理想情况下,我只想在一个小范围内打开它——理想情况下,一个文件名扩展。shopt -u nullglob
您可以使用但当然只有在之前禁用它的情况下才能再次将其关闭:
让我觉得一定有更好的方法。显而易见的“把它放在一个子shell中”是行不通的,因为变量赋值当然会随着子shell而死。除了等待奥斯汀组导入 ksh93 语法,还有吗?
bash - 使 shopt 更改本地功能
我正在尝试编写一个 bash 函数,该函数在nocasematch
不更改选项的调用者设置的情况下使用。函数定义为:
在我调用它之前:
叫它:
正如预期的那样,但现在nocasematch
调用者已经改变:
是否有任何简单的方法可以使选项更改为函数的本地?
我知道我可以检查返回值,shopt -q
但这仍然意味着函数应该记住这一点并在退出之前将其重置。
bash - Bash shopt xpg_echo
I don't understand what the shopt xpg_echo
changes if it is activated or deactivated.
In the manual:
I tried to activate/deactivate xpg_echo, but echo has the same behaviour.