按键精灵区域找图教程如何找到图后移动到指定的区域内随机移动鼠标并且随机时间点击鼠标左键?

linux中BASH_SOURCE[0]
在C/C++中,__FUNCTION__常量记录当前函数的名称。有时候,在日志输出的时候包含这些信息是非常有用的。而在Bash中,同样有这样一个常量FUNCNAME,但是有一点区别是,它是一个数组而非字符串,其中数组的第一个元素为当前函数的名称。可能初看有点难以理解,为什么FUNCNAME要是一个数组呢?看看下面的例子,你就明白了。
#!/bin/bash
function test_func()
echo &Current $FUNCNAME, \$FUNCNAME =& (${FUNCNAME[@]})&
another_func
echo &Current $FUNCNAME, \$FUNCNAME =& (${FUNCNAME[@]})&
function another_func()
echo &Current $FUNCNAME, \$FUNCNAME =& (${FUNCNAME[@]})&
echo &Out of function, \$FUNCNAME =& (${FUNCNAME[@]})&
echo &Out of function, \$FUNCNAME =& (${FUNCNAME[@]})&
执行后的结果为:
Out of function, $FUNCNAME =& ()
Current test_func, $FUNCNAME =& (test_func main)
Current another_func, $FUNCNAME =& (another_func test_func main)
Current test_func, $FUNCNAME =& (test_func main)
Out of function, $FUNCNAME =& ()
所以,更加准确地说,FUNCNAME是一个数组,但是bash中会将它维护成类似一个堆栈的形式。与FUNCNAME相似的另外一个比较有用的常量是BASH_SOURCE,同样是一个数组,不过它的第一个元素是当前脚本的名称。这在source的时候非常有用,因为在被source的脚本中,$0是父脚本的名称,而不是被source的脚本名称。而BASH_SOURCE就可以派上用场了。
# If the script is sourced by another script
if [ -n &$BASH_SOURCE& -a &$BASH_SOURCE& != &$0& ]
do_something
else # Otherwise, run directly in the shell
BASH_SOURCE[0] BASH_SOURCE[0] 等价于 BASH_SOURCE,取得当前执行的shell文件所在的路径及文件名。
在目录/home/sam/linux编程练习/Shell下新建脚本test.sh:
#!/bin/bash
DIR=&$( cd &$( dirname &${BASH_SOURCE[0]}& )/../& && pwd )&
# DIR=$( cd &$( dirname ${BASH_SOURCE[0]} )/../& && pwd )
# DIR=`cd $( dirname ${BASH_SOURCE[0]} )/../ && pwd`
执行的时候,需要棵执行权限:chmod +x test.sh 然后执行./test.sh 而不是 sh ./test.sh
经测试以上写都正确:输出
/home/sam/linux编程练习
其实就是一个:1.取得当前执行的shell文件所在的完整路径 2. 执行dirname,并进入父级目录 3. 打印当前工作目录的过程
# echo &${BASH_SOURCE[0]}&
# echo &${BASH_SOURCE}&
# echo &$( dirname &${BASH_SOURCE[0]}& )&
# DIR=&$( cd &$( dirname ${BASH_SOURCE[0]} )& && pwd )&
# echo $DIR
通过man bash,可以看到bash的特殊用法
1.${BASH_SOURCE-$0} &
获取脚本名称
2.${parameter:-default}
SLAVE_FILE=${HADOOP_SLAVES:-${HADOOP_CONF_DIR}/slaves} 指定默认值&
3.${parameter/pattern/string/}
${@// /\\ }
本文永久更新地址:
------分隔线----------------------------dirname和shell常用命令解读
我的图书馆
dirname和shell常用命令解读
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。在/home/admin/test/下新建test.sh内容如下:
cd `dirname $0`
echo `pwd` 然后返回到/home/admin/执行
sh test/test.sh 运行结果:
/home/admin/test 这样就可以知道一些和脚本一起部署的文件的位置了,只要知道相对位置就可以根据这个目录来定位,而可以不用关心绝对位置。这样脚本的可移植性就提高了,扔到任何一台服务器,(如果是部署脚本)都可以执行。
# resolve links - $0 may be a softlinkPRG="$0"while [ -h "$PRG" ]; do& ls=`ls -ld "$PRG"`& link=`expr "$ls" : '.*-& \(.*\)$'`& if expr "$link" : '/.*' & /dev/ then&&& PRG="$link"& else&&& PRG=`dirname "$PRG"`/"$link"& fidone
TA的最新馆藏[转]&你可能喜欢
12345678910
12345678910
关于本站 本站以分享运维技术为主,欢迎大家参与技术分享,同时也欢迎大家吐槽,本站提供以下交流圈:QQ群①:*****(满)QQ群②:6690706 QQ群③: QQ群④:(新) 微信公众号:ttlsacom 商务合作QQ:Linux(51)
[0] [0] 等价于 , 取得当前执行的文件所在的路径及文件名。
在目录/home/sam/linux编程练习/Shell下新建脚本test.sh:
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )"
# DIR=$( cd "$( dirname ${BASH_SOURCE[0]} )/../" && pwd )
执行的时候,需要棵执行权限:chmod +x test.sh
然后执行./test.sh
而不是 sh ./test.sh
经测试以上写都正确:输出
/home/sam/linux编程练习
其实就是一个:1.取得当前执行的shell文件所在的完整路径 2. 执行dirname,并进入父级目录 3. 打印当前工作目录
# echo "${BASH_SOURCE[0]}"
# echo "${BASH_SOURCE}"
# echo "$( dirname "${BASH_SOURCE[0]}" )"
# DIR="$( cd "$( dirname ${BASH_SOURCE[0]} )" && pwd )"
# echo $DIR
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:75848次
积分:2295
积分:2295
排名:第14309名
原创:140篇
转载:61篇
评论:17条
(1)(1)(1)(8)(4)(4)(21)(17)(28)(19)(36)(9)(20)(30)(8)(1)& & 在C/C++中,__FUNCTION__常量记录当前函数的名称。有时候,在日志输出的时候包含这些信息是非常有用的。而在Bash中,同样有这样一个常量FUNCNAME,但是有一点区别是,它是一个数组而非字符串,其中数组的第一个元素为当前函数的名称。可能初看有点难以理解,为什么FUNCNAME要是一个数组呢?看看下面的例子,你就明白了。
1 #!/bin/bash
3 function test_func()
echo "Current $FUNCNAME, \$FUNCNAME =& (${FUNCNAME[@]})"
another_func
echo "Current $FUNCNAME, \$FUNCNAME =& (${FUNCNAME[@]})"
<span style="color: # function another_func()
<span style="color: # {
<span style="color: #
echo "Current $FUNCNAME, \$FUNCNAME =& (${FUNCNAME[@]})"
<span style="color: # }
<span style="color: #
<span style="color: # echo "Out of function, \$FUNCNAME =& (${FUNCNAME[@]})"
<span style="color: # test_func
<span style="color: # echo "Out of function, \$FUNCNAME =& (${FUNCNAME[@]})"
执行后的结果为:
<span style="color: # Out of function, $FUNCNAME =& ()
<span style="color: # Current test_func, $FUNCNAME =& (test_func main)
<span style="color: # Current another_func, $FUNCNAME =& (another_func test_func main)
<span style="color: # Current test_func, $FUNCNAME =& (test_func main)
<span style="color: # Out of function, $FUNCNAME =& ()
& & 所以,更加准确地说,FUNCNAME是一个数组,但是bash中会将它维护成类似一个堆栈的形式。与FUNCNAME相似的另外一个比较有用的常量是BASH_SOURCE,同样是一个数组,不过它的第一个元素是当前脚本的名称。这在source的时候非常有用,因为在被source的脚本中,$0是父脚本的名称,而不是被source的脚本名称。而BASH_SOURCE就可以派上用场了。
<span style="color: # # If the script is sourced by another script
<span style="color: # if [ -n "$BASH_SOURCE" -a "$BASH_SOURCE" != "$0" ]
<span style="color: # then
<span style="color: #
do_something
<span style="color: # else # Otherwise, run directly in the shell
<span style="color: #
<span style="color: # fi
<span style="color: # #!/bin/bash
<span style="color: # DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )"
<span style="color: # # DIR=$( cd "$( dirname ${BASH_SOURCE[0]} )/../" && pwd )
<span style="color: # # DIR=`cd $( dirname ${BASH_SOURCE[0]} )/../ && pwd`
<span style="color: # echo $DIR
<span style="color: # echo "ok"
执行的时候,需要棵执行权限:chmod +x test.sh&然后执行./test.sh&而不是&sh ./test.sh
经测试以上写都正确:输出
<span style="color: # /home/sam/linux编程练习
<span style="color: # ok
其实就是一个:1.取得当前执行的shell文件所在的完整路径 2. 执行dirname,并进入父级目录 3. 打印当前工作目录的过程
<span style="color: # # echo "${BASH_SOURCE[0]}"
<span style="color: # # echo "${BASH_SOURCE}"
<span style="color: # # echo "$( dirname "${BASH_SOURCE[0]}" )"
<span style="color: # # DIR="$( cd "$( dirname ${BASH_SOURCE[0]} )" && pwd )"
<span style="color: # # echo $DIR
通过man bash,可以看到bash的特殊用法
1.${BASH_SOURCE-$0} &
获取脚本名称
2. ${parameter:-default}
SLAVE_FILE=${HADOOP_SLAVES:-${HADOOP_CONF_DIR}/slaves} 指定默认值&
3. ${parameter/pattern/string/}
${@// /\\ }
阅读(...) 评论()

我要回帖

更多关于 按键精灵区域找图教程 的文章

 

随机推荐