问题标签 [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.

0 投票
4 回答
14736 浏览

shell - 从 shell 脚本函数返回单个值

例子:

$r包含tf还包含ls命令的输出。

我可能会写ls -1 a* >/dev/null 2>/dev/null,但如果有更复杂的脚本可能会导致错误。

有没有办法从 中返回单个值a()

0 投票
2 回答
268 浏览

bash - 如何检查我的 Bash 函数是否有参数?

快速提问。我喜欢emacs。不过我讨厌打字,所以我喜欢用它e来调用 emacs。

以前我将 .bash_profile (OS X) 配置为:alias e="emacs .". 但是,当我只想编辑一个文件时,我已经厌倦了仍然必须键入 emacs {file}。

所以我试图通过一些谷歌搜索来解决这个问题,但 bash 抱怨[]

我想用这个来做:e something.c或者,只是e.

0 投票
3 回答
13652 浏览

bash - 在 bash 函数中生成后台进程

我正在编写一个 Bash 函数来启动需要从某个文件夹启动的服务器,但我不希望启动该服务器影响我当前的工作。我写了以下内容:

我的变量都设置好了,但是当它执行时,我收到一个关于输出中意外分号的错误,似乎 Bash${SERVERCOMMAND}在后台开始的 & 号之后插入了一个分号。

${SERVERCOMMAND}在仍然使用 pushd 和 popd 以确保我最终回到当前目录的同时,我可以做些什么来在后台启动?

编辑: 的输出echo ${SERVERCOMMAND},因为它被请求:

错误信息:

0 投票
1 回答
2561 浏览

git - 如何使用 Git 别名启动 Bash 函数

我想在 ~/.gitconfig 中使用 Git 别名,以便它调用 bash 函数(如果已定义),否则调用常规git checkout.

这是我设计的:

问题是 Git 使用 /bin/sh (恰好dash在我的情况下)并且它会compgen因为它是bash内置的而停止运行。

有什么方法可以确保 Gitbash用来执行这个命令?

请注意,它vxzExecuteGitCheckout()是在一个尚未包含在 ~/.bashrc 中的文件中定义的。

另一个问题是,如果我使用,如果找不到这个 Bash 函数git co -b param1 param2 ...,上面的别名定义会传递-b param1 param2给吗?git checkout

0 投票
2 回答
13528 浏览

bash - BASH:if语句执行命令和函数

我遇到了一个我认为应该很容易解决的问题,但对于我的生活,我无法弄清楚。可能是真的太晚了;没有把握。

所以我有一个 shell 脚本和一个需要运行的 if 语句。问题是我在这个 bash 脚本中有一个函数,我用它来在 if 语句中实际构建这个 find 命令的一部分。我想知道如何在不收到错误的情况下同时做到这两点[: too many arguments

这是当前代码:

这就是我真正需要发布的全部内容。我需要弄清楚如何build_ext_names在 find 命令中运行它,而该命令又在 if 语句中

0 投票
1 回答
300 浏览

jrubyonrails - bash 函数无法识别的 bash 别名:sunspot_rails、jruby、rspec

下面用于在后台运行 sunspot 的别名 下面用于查找和终止这些实例的别名可以访问 sunspot 端口的 ENV 变量 但是,用于运行 sunspot、处理命令和终止 sunspot 的函数仅在我在函数之外获取 .bashrc 后才能工作.

$user_id 在此 sunspot_ports() 被调用并在首次登录时正确打印之前设置 rebash 是 source ~.bashrc 的别名

我也有开发和生产的别名——这只是代表代码。

我尝试在函数内部采购 .bashrc,用扩展命令替换别名,并将函数放在 sunspot_ports() 的每个组合中。当我登录时,太阳黑子端口会正确打印出来,所以我知道这段代码会运行。

另外,我需要将它作为 .bashrc 中的函数而不是在我的 jruby 代码中的某个位置,因为 jvm 不允许分叉(否则我只会在我的规范测试中使用 sunspot-solr start 和 sunspot-solr end )

0 投票
1 回答
3021 浏览

bash - 从外部文件bash访问函数

这真的很简单,但由于我仍然是 shell 脚本的新手,我无法做到这一点。这很简单,我有一个菜单驱动的脚本,当用户输入他的选择时,我会在 case 函数中循环并执行选定的菜单。到目前为止,我正在用同一个脚本编写整个代码。现在我将代码放在外部脚本中的每个菜单选项中,并从那里访问代码。所以它是这样的,

然后我创建了另一个外部脚本,我在其中编写了 create() 函数

代码在链接中,

但我得到一个错误,

第 31 行是我在其余情况下结束 addRecord 函数的地方,它是空函数。我们不能在 bash 中有一个空函数吗?

0 投票
3 回答
176 浏览

bash - 从 bash 函数访问脚本参数而不在调用时传递它们

如果没有使用脚本参数显式调用函数,是否有任何方法可以从脚本函数访问 bash 脚本参数?

谢谢。

0 投票
2 回答
475 浏览

bash - 当 Bash 函数是管道的一部分时,它会失败

这是为了简化我遇到的问题。我定义了一个设置变量的函数,这适用于这种情况:

所以 res 已经被 myfunc 的调用改变了。但:

因此,当 myfunc 是管道的一部分时,值不会改变。即使涉及管道,如何使 myfunc 以我想要的方式工作?

(在真正的脚本中,“myfunc”当然做了一些更精细的事情,管道的另一边有一个 zenity 进度对话而不是一个毫无意义的回声)

谢谢

0 投票
1 回答
8350 浏览

bash - 定时 bash 函数

我想看看 bash 函数运行需要多长时间。在做了一些研究之后,我想出了这种使用子外壳的方法:

是否有替代/更好的方法来计时 bash 功能?

更新:我希望将time调用嵌入到函数中,以便它每次都运行而无需执行time test-function. 我应该更清楚这一点。