ROOT_DIR=/opt/enomalism2
if [ -f $ROOT_DIR/scripts/func.sh ]; then
. $ROOT_DIR/scripts/func.sh
else
echo "Could not find functions file, please check that func.sh file exists in the same directory"
exit 1
fi
蓝色的那句。
看不懂这句
-
- 帖子: 19
- 注册时间: 2009-09-28 20:39
- hubert_star
- 论坛版主
- 帖子: 5373
- 注册时间: 2007-10-29 22:12
- 系统: OSX 10.9 + Ub 1304
- 来自: 江苏南京
-
- 帖子: 19
- 注册时间: 2009-09-28 20:39
Re: 看不懂这句
谢谢。
func.sh 中全部是函数,是不是把函数导入,在后面可以直接调用?
func.sh 中全部是函数,是不是把函数导入,在后面可以直接调用?
hubert_star 写了:. 的作用与 source 一样
就是导入sh里面的变量到当前环境,并执行内部的一些代码
你可以认为这是#include
- hubert_star
- 论坛版主
- 帖子: 5373
- 注册时间: 2007-10-29 22:12
- 系统: OSX 10.9 + Ub 1304
- 来自: 江苏南京
-
- 帖子: 19
- 注册时间: 2009-09-28 20:39
Re: 看不懂这句
非常感谢hubert_star的回答。这之后其实还有一个问题:
执行蓝色(也就是. $ROOT_DIR/scripts/func.sh)这句后出错,提示bad substitution。是func.sh中有一个函数出错了。函数如下:
__pids_var_run() {
local base=${1##*/}
local pid_file=${2:-/var/run/$base.pid}
pid=
if [ -f "$pid_file" ] ; then
local line p
read line < "$pid_file"
for p in $line ; do
[ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
done
if [ -n "$pid" ]; then
return 0
fi
return 1 # "Program is dead and /var/run pid file exists"
fi
return 3 # "Program is not running"
}
如果能说明哪里错了就更好了。(不好意思,本来有缩进的,发表就没有了)
执行蓝色(也就是. $ROOT_DIR/scripts/func.sh)这句后出错,提示bad substitution。是func.sh中有一个函数出错了。函数如下:
__pids_var_run() {
local base=${1##*/}
local pid_file=${2:-/var/run/$base.pid}
pid=
if [ -f "$pid_file" ] ; then
local line p
read line < "$pid_file"
for p in $line ; do
[ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
done
if [ -n "$pid" ]; then
return 0
fi
return 1 # "Program is dead and /var/run pid file exists"
fi
return 3 # "Program is not running"
}
如果能说明哪里错了就更好了。(不好意思,本来有缩进的,发表就没有了)
- hubert_star
- 论坛版主
- 帖子: 5373
- 注册时间: 2007-10-29 22:12
- 系统: OSX 10.9 + Ub 1304
- 来自: 江苏南京
Re: 看不懂这句
把你的#!/bin/sh改成#!/bin/bash或者#!/usr/bin/bash,反正就是不用ubuntu阉割的那个dash,再试试
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒 故我有罪!
我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;
特此声明!
有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。
欢迎来我的新浪微博@me
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒 故我有罪!
我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;
特此声明!
有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。
欢迎来我的新浪微博@me
-
- 帖子: 19
- 注册时间: 2009-09-28 20:39
Re: 看不懂这句
太太太感谢了!!!!ubuntu还真麻烦。这是我安装的一个软件的脚本。之前就是bad substitution的错误。按照下面改就可以了。我对ubuntu无语了。
hubert_star 写了:把你的#!/bin/sh改成#!/bin/bash或者#!/usr/bin/bash,反正就是不用ubuntu阉割的那个dash,再试试