当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 看不懂这句
帖子发表于 : 2009-10-14 16:49 

注册: 2009-09-28 20:39
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
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

蓝色的那句。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 看不懂这句
帖子发表于 : 2009-10-14 16:51 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
. 的作用与 source 一样

就是导入sh里面的变量到当前环境,并执行内部的一些代码

你可以认为这是#include


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 看不懂这句
帖子发表于 : 2009-10-14 16:59 

注册: 2009-09-28 20:39
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
谢谢。
func.sh 中全部是函数,是不是把函数导入,在后面可以直接调用?

hubert_star 写道:
. 的作用与 source 一样

就是导入sh里面的变量到当前环境,并执行内部的一些代码

你可以认为这是#include


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 看不懂这句
帖子发表于 : 2009-10-14 17:05 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
明确的答案:是,包括在脚本里面定义的:变量、方法和执行过程,变量和方法你直接可以用,执行的代码在你包含时被调用


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 看不懂这句
帖子发表于 : 2009-10-14 17:18 

注册: 2009-09-28 20:39
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
非常感谢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"
}
如果能说明哪里错了就更好了。(不好意思,本来有缩进的,发表就没有了)


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 看不懂这句
帖子发表于 : 2009-10-14 19:52 
头像

注册: 2007-08-05 17:40
帖子: 4968
送出感谢: 0 次
接收感谢: 4
看不出。。
试着用sh -x you_script

就知道了


_________________
free VPN
YouKuDownLoader
代码:
pip3 install ykdl

install YouKuDownLoader, have fun in downloading.
YouKuDownLoader所支持网站列表


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 看不懂这句
帖子发表于 : 2009-10-14 23:07 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
把你的#!/bin/sh改成#!/bin/bash或者#!/usr/bin/bash,反正就是不用ubuntu阉割的那个dash,再试试


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 看不懂这句
帖子发表于 : 2009-10-15 9:51 

注册: 2009-09-28 20:39
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
太太太感谢了!!!!ubuntu还真麻烦。这是我安装的一个软件的脚本。之前就是bad substitution的错误。按照下面改就可以了。我对ubuntu无语了。
hubert_star 写道:
把你的#!/bin/sh改成#!/bin/bash或者#!/usr/bin/bash,反正就是不用ubuntu阉割的那个dash,再试试


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译