linux脚本学习

进入当前脚本所在目录(对于软链接不行)

curr_dir=$(cd "$(dirname "$0")"; pwd)
cd $curr_dir


for循环:

for (( i = 1; $i <= 10; i++ ));do
echo $i
sleep 1
done


脚本暂停
bash -c 'read -n1 -p "Press any key to continue..." '


显示脚本的命令:(默认是off)
set -v 显示命令
set +v 关闭显示命令的选项


读取配置文件:
假设有个text.txt内容如下:
test=2 #这是一个测试.

$ vi text.sh

#! /bin/sh

value=4
value=$(cat test.txt | grep test= | head -1 | awk -F '=' '{print $2}' | awk -F '#' '{print $1}')
echo ${value}

$(xx)是取xx命令的返回值. ${xx}是取xx变量.

printf "xx\n\tyy\n" 比echo好用,可以自己控制换行


echo "xx" > log.txt 写到文本
echo "xx2" >> log.txt 追加到文本尾


定制开机脚本,开机命令丢到哪儿:

ls -l /etc/rc{3,5}.d/*local*
看指向哪个rc.local。(比如指向/etc/init.d/rc.local)这个指向的rc.local文件就是可以扔开机脚本命令的文件。
然后打开/etc/init.d/rc.local看,调用了/etc/rc.local文件。
所以,可丢开机脚本的两个文件分别是(mint17):
/etc/rc.local 
/etc/init.d/rc.local
最后:
  开机脚本推荐放到/etc/rc.local里,重启生效(注销无效),脚本命令必须都用绝对路径(因为系统环境变量貌似还没好,而这个时候,是su权限).


linux脚本编程(shell)简介:http://blog.csdn.net/compiler_hdz/article/details/575113 (写的很完备了,不过是针对bash得)
Dash与Bash的语法区别:http://www.igigo.net/archives/169
linux shell逻辑运算符、逻辑表达式详解:http://www.cnblogs.com/chengmo/archive/2010/10/01/1839942.html
linux awk 命令说明:http://blog.csdn.net/tianlesoftware/article/details/6278273

posted @ 2012-08-07 10:31  小鼬就是我  阅读(555)  评论(0编辑  收藏  举报