用户名
在使用Bash的Ubuntu 16.04中,我创建了一个$HOME/ulcwe/software_internal.sh
包含rse()
未调用函数的文件。该文件的来源~/.bashrc
(本身是来源),我可以rse
从终端中的任何位置调用它,并且它将运行而不会出现错误。
但是我尝试运行此脚本文件,该脚本文件包含对rse
第36行的调用,并且出现此错误:
第36行:rse:找不到命令
为什么该函数在手动调用(rse
在Bash中键入并执行)中成功调用,但在Bash脚本中没有成功调用,又如何从脚本中成功调用呢?
库萨兰达
您将必须确保该功能可用于脚本。您可以通过两种方式执行此操作:
source
包含函数定义的文件,或者
export
调用脚本之前的功能(export -f rse
将导出功能)。
函数,就像shell变量一样,不是脚本所继承的环境的一部分。必须导出Shell变量,以便它们成为环境变量,并且bash
同样可以导出函数。
导出的函数不能被任何进程调用,只能被其他bash
脚本调用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句