如何从另一个bash脚本调用bash公共例程。当前shell是ksh

时间:2016-05-19 18:14:47

标签: bash ksh

我在执行代码时收到错误。 我目前的外壳是ksh。

cat /home/ravi/user.txt
ravi|12345677|<tr>ravi@ymail.com</tr>

file1.sh

#!/bin/bash
. /file2.sh
myfile="/home/ravi/user.txt"
while IFS= read -r line
do 
  split_a_line "$line"
done  < $myfile

file2.sh

#!/bin/bash
split_a_line()
{
IFS=\|  read -a v_array <<< "$1"
echo ${v_array[0]}
} 

我正在执行我的脚本,如./file1.sh 我收到以下错误 ** ksh:语法错误:<' unexpected**

当我将代码保存在同一个文件中时,脚本正在运行,但是当我保存在两个不同的文件中时,脚本会抛出错误。

我相信脚本在ksh shell中执行。 我在file1.sh中还有其他一些其他代码与ksh shell兼容。我是否需要将file2.sh中的代码更改为兼容ksh,还是有任何其他解决方法。

提前致谢

0 个答案:

没有答案