shell脚本问题&技巧

原创 2013年12月04日 14:03:49



标准输入输出问题

cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中

详见http://blog.csdn.net/hnmsky/article/details/7035814



source & . 环境问题

如cmdEnv命令是通过source 或 . 导入到环境中,

想在cmdline中运行脚本shB,且可以shB可以调用cmdEvn,

则可以这样调用:

sin$ . shB cmdEvn



脚本中运行其它脚本,兼容问题:

autorun.sh:

#!/bin/sh

....

./tmp.sh


tmp.sh:

. ./build/evesetup.sh

....


evesetup.sh:

function hmm(){

cat <<EOF

heloo,comment begin

comment end

EOF

}


运行autorun.sh 报错:build/envsetup.sh: 1: Syntax error: "(" unexpected

解决1:autorun.sh 使用#!/bin/bash ,之后使用at命令也可以运行。

解决2:去掉autorun.sh第一行,与evesetup.sh风格一致。at命令运行会报错

解决3:执行$sudo dpkg-reconfigure dash命令,并选择“否”(配置使用dash环境而非bash环境)(未尝试)



http://www.51testing.com/html/02/403602-236690.html

#!/bin/sh
cd /home

./1.sh运行之后,pwd发现还是在原目录下,并未切换至home目录。该脚本这么简单,不会是脚本问题,那时什么原因呢?我在网上查找,有人说,Ubuntu默认的是dash脚本而非bash脚本,dash的速度较快但是有些在bash上可以运行的脚本在dash上就不行。可以用ls /bin/sh -al ,来查看一下指向的哪种类型,如果是指向dash,我们可以把它换成bash,sudo dpkg-reconfigure dash
出现菜单问你是否要dash的时候,选no就可以了。


我改了之后问题又来了,还是无法cd,我就无语了。然后又在脚本里加入了一句pwd查看路径,然后运行结果是进入了/home,可是运行结束再pwd就不行了,当时我就纠结了,实际上脚本是正确执行了的,但是我们看到的结果是不对的。后来看了Shell脚本十三问,才明白其中道理。原来在我们执行脚本时,会自动运行一个子脚本去完成里面的指令,然后回到父脚本,所有当我们在脚本执行结束后去pwd,是不行的。那如何让名命令在当前脚本执行呢?可以用source ./1.sh或者../1.sh,这样就可以了。



shell脚本问题

  • 2012年09月12日 20:57
  • 117KB
  • 下载

shell脚本中数组array常用技巧学习实践

shell中数组的下标默认是从0开始的 1。将字符串放在数组中,获取其长度 #!/bin/bash str="a b --n d" array=($str) length=${#array[...

shell脚本编写一些基础但容易忘记的小技巧(持续更新)

判断变量是否为空 1.变量通过引号引起来 #!/bin/bash para1= if [ ! -n "$para1" ]; then echo "para1 is NULL" else ...

8大shell脚本技巧

作者Fizer Khan是一位Shell脚本迷,他对有关Shell脚本新奇有趣的东西是如此的痴迷。最近他遇到了authy-ssh脚本,为了缓解ssh服务器双重认证问题,他学到了许多有用且很酷的东西。对...
  • Binhun
  • Binhun
  • 2013年08月16日 17:46
  • 430

收集的48个Shell脚本小技巧

本文收集了一堆的shell脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的。关于这些技巧的出处,诶,我也忘了,可能来自theunixsch...

Shell脚本和Informix的交互实现技巧

在Linux/Unix下一些程序是命令行或者服务程序,一般都有一个配置文件来描述其运行规则,而这些规则通常会保存在数据库中,由其它应用程序来维护。这就牵涉一个问题,如何从数据库中获取最新的规则来驱动后...

Linux Shell脚本技巧笔记

但是,考虑到Shell脚本的命令限制和效率问题,下列情况一般不使用Shell: 1.资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等)。 2.需要处理大任务的数学操作,尤其是浮点运...
  • jackeyt
  • jackeyt
  • 2017年01月18日 17:27
  • 98

收集的48个Shell脚本小技巧

本文收集了一堆的shell脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的。关于这些技巧的出处,诶,我也忘了,可能来自theunixsch...

shell脚本高级技巧系列

Linux Shell高级技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/12/22/2271167.html 一、将输入信息转换为...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell脚本问题&技巧
举报原因:
原因补充:

(最多只允许输入30个字)