Linux shell脚本学习

参考网址:http://www.runoob.com/linux/linux-shell.html

有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n。那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' urfile 。

尽量在linux下编辑文件(vi/vim)

可以用 sh /home/test.sh  来执行test.sh脚本。也可以用  ./test.sh  来执行此脚本

  • shell变量:命名只能使用英文字母,数字和下划线,首个字符不能以数字开头.(变量名和等号之间不能有空格)
    • 常规命名(和Java一样):Runoob=xxx        _var=xxx       var2=xxx
    • 用语句给变量赋值:  for filein`ls /etc`   (此语句将 /etc 下目录的文件名循环出来
    • 使用变量名:只要在变量名前面加美元符号即可    echo $Runoob      echo ${Runoob}istest
  • shell字符串:字符串可以用单引号,也可以用双引号,也可以不用引号
    • 单引号:  str='this is a string'  
      • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
      • 单引号字串中不能出现单引号(对单引号使用转义符后也不行)
    • 双引号:  str="Hello, I know your are \"$your_name\"! \n"
      • 双引号里可以有变量
      • 双引号里可以出现转义字符


下面是网上找来的一段重启Tomcat的代码:
#!/bin/sh
p='/home/soforway/tomcat-muyitao-api/'
workPath=${p}'work/'
rm -rf ${workPath}
tomcatPath=${p}'bin/'
echo 'operate restart tomcat: '$tomcatPath
pid=`ps aux | grep $p | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo 'exist pid:'$pid
if [ -n "$pid" ]
then
{
echo ===========shutdown================
$tomcatPath'shutdown.sh'
sleep 2
pid=`ps aux | grep $p | grep -v grep | grep -v retomcat | awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 2
echo ========kill tomcat begin==============
echo $pid
kill -9 $pid
echo ========kill tomcat end================
}
fi
sleep 2
echo ===========startup.sh==============
$tomcatPath'startup.sh'
}
else
echo ===========startup.sh==============
$tomcatPath'startup.sh'
fi
tail -f ${p}/logs/catalina.out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值