问题标签 [bash-function]
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 函数中使用所有参数的子范围
我在 Bash 脚本中有这个函数:
如您所见,我正在使用参数$1
和$2
. 然后我只是将所有其余部分附加到命令的末尾。它们转到$9
,但实际上应该附加所有内容。
必须有一个更简单的方法吗?
bash - Bash 函数参数返回错误“找不到命令”
我在 bash 脚本中有这个功能,可以创建一个新的 jekyll 帖子;但它将参数作为未找到的命令返回。这是脚本:
但是每当我尝试运行它时,它都会返回:
它似乎试图将参数作为命令运行。
我什至试过这个并得到相同的结果
谁能告诉我我做错了什么?
bash - Bash 的函数会调用带有引用参数的命令吗?
假设我在 Bash 中有一个函数:
所以它是使ll
作品像ls -l
。大多数情况下,它会起作用,但是
可以使用 name 的文件ha ha
,但是
会失败,因为它被认为是
有没有办法使这项工作?我想我们可以做到的
(注意"$@"
不同于"$*"
,"$@"
表示单独引用,而"$*"
表示全部引用在一个字符串中)
但是,ll -t "ha ha"
会变成ls -l "-t" "ha ha"
,它确实有效,但有点奇怪,我不确定它是否会在某些情况下崩溃。
有没有另一种方法让它工作,另一件事是,我认为在功能上,command ls -l "$@"
是ls -l "$@"
一样的吗?(command
只是直接运行程序而不调用任何可能的bash函数来防止递归发生吗?)
bash - 从子shell返回值并输出到局部变量
我发现了我无法解释的奇怪行为。以下代码可以正常工作:
意味着我得到了我期望的价值:
一旦我将local
定义添加到变量:
我得到以下信息:
问:为什么?发生了什么?我可以将 subshell 的输出捕获到local
变量并可靠地检查 subshell 的返回值吗?
PS :prepare-archive
在主 shell 脚本中调用。第一个exit
是exit
fromcheck-spec-file
函数,第二个是 fromprepare-archive
函数——这个函数本身是从主 shell 脚本执行的。check-spec-file
我从by返回值exit 1
,然后将此值传递给exit $?
. 因此,我希望它们应该是相同的。
bash - 在 bash 脚本中读取函数中的标准输入
我有一些输出一些信息的 bash 函数:
- 在 epson-ppds 中查找模型名称
- 在三星 ppds 中查找型号名称
- 在 hp-ppds 中查找模型名称
- ETC ...
我一直在编写读取输出并对其进行过滤的函数:
但我认为这样做会更好:
然后调用另一个高级函数:
如何通过最佳 bash 实践实现这一目标?
bash - 使用括号而不是大括号定义 bash 函数体
这个脚本演示了用括号和大括号定义一个 bash 函数。括号具有在函数“本地”中创建环境变量的良好效果,我猜是因为函数体是作为子外壳执行的。输出是:
问题是这是否是定义函数的允许语法。
linux - 传递别名作为函数参数linux bash
大家好,我正在学习如何在 linux 中使用 .bashrc 文件,正如我的标题所述,我想知道如何让函数将参数识别为别名
我有一个名为 home 的别名,定义为:alias home=$HOME
和一个函数 go 定义为
但是当我这样做go home
时
bash: cd: home: No such file or directory
ls: cannot access home: No such file or directory
当我想要它去 $HOME
我将如何实施呢?
linux - 如何将 find 的输出通过管道传输到 pdf 查看器
你好 Bash 超级英雄,
我正在尝试创建一个简单的 bash 函数,将输出从find管道传输到 pdf 查看器,类似但仅限于evince。
上述函数打开查看器,但不显示任何所需的文件/路径。最终,我想显示从find输出的所有 pdf 文件。一个简单的查找命令,例如:
创建如下输出:
然后的想法是在查看器中显示这两个 pdf 文件。
有什么想法或建议吗?如果有帮助,我正在使用 Linux Mint。提前致谢!
bash - .bashrc 函数实现 grepall
我有 2 个 bash 函数 catall 和 grepall
catall
工作正常,首先打印文件名,然后是内容和新行
但grepall
不起作用,应该catall
与文件内容相同但使用 grep 阶段
为什么$2
不被sub'ed
你能让这个 grepall 工作吗?
bash - replaceInAll 脚本在 cli 上工作,但不是 .bashrc 函数
这个 .bashrc 函数在命令行上运行,它是一个不错的 bash 单行器。
但将其移至 bash 配置文件并停止工作?
replaceInAll (){
find . -name "$1" -print | xargs sed -i 's/$2/$3/g'
}
我对此有什么误解?