linux bash 编程

bash 编程中遇到的问题:

首先,建议在linux 下编写bash,如果你要用windows 编写bash 的话,那么,你要特别注意几个问题:

第一:编码问题,用utf-8 编码,

第二:换行符问题,windows是回车换行(CRLF)结尾,linux 是换行(LF)结尾

第三:使用utf-8无bom。

这三点是在windows 下编写bash 的注意事项。

至于语法,我这边就不多做讲了,我也是初次编写bash,语法基本没啥说的,有一年编程基础的都能看懂。

http://pan.baidu.com/s/1o6C1rnW,

分享一个bash 片段吧。这是从maven 私服 nexus 中获取的,其功能就是获取绝对路径

# Resolve the true real path without any sym links.

CHANGED=true

while [ "X$CHANGED" != "X" ]

do

# Change spaces to ":" so the tokens can be parsed.

SAFESCRIPT=`echo $SCRIPT | sed -e ‘s; ;:;g‘`

#echo "script path is:[$SCRIPT]"

#echo "SAFESCRIPT path is:[$SAFESCRIPT]"

# Get the real path to this script, resolving any symbolic links

TOKENS=`echo $SAFESCRIPT | sed -e ‘s;/; ;g‘`

#echo "TOKENS path is:[$TOKENS]"

REALPATH=

for C in $TOKENS; do

# Change any ":" in the token back to a space.

C=`echo $C | sed -e ‘s;:; ;g‘`

REALPATH="$REALPATH/$C"

# If REALPATH is a sym link, resolve it.  Loop for nested links.

while [ -h "$REALPATH" ] ; do

LS="`ls -ld "$REALPATH"`"

LINK="`expr "$LS" : ‘.*-> \(.*\)$‘`"

if expr "$LINK" : ‘/.*‘ > /dev/null; then

# LINK is absolute.

REALPATH="$LINK"

else

# LINK is relative.

REALPATH="`dirname "$REALPATH"`""/$LINK"

fi

done

done

if [ "$REALPATH" = "$SCRIPT" ]

then

CHANGED=""

else

SCRIPT="$REALPATH"

fi

done

# Change the current directory to the location of the script

cd "`dirname "$REALPATH"`"

REALDIR=`pwd`

bash 基础语法_下载链接:http://yun.baidu.com/share/link?shareid=2510088394&uk=4043945255

bash 的几个示例:

1、自动打包。http://pan.baidu.com/s/1bniv5W7

2、linux 服务运行 java shell。http://yun.baidu.com/share/link?shareid=3338177448&uk=4043945255

3、linux 运行java 命令,包含环境变量的配置,jvm 参数的设置。http://yun.baidu.com/share/link?shareid=3334612191&uk=4043945255

&& 再来个windows 运行java 命令,跟3一样的功能http://yun.baidu.com/share/link?shareid=3335077510&uk=4043945255

时间: 2024-10-13 03:26:01

linux bash 编程的相关文章

Linux bash编程入门

一.bash编程入门 编程语言: 编译型语言:编译器  c,c++ 解释型语言:解释器 解释器可独立运行 变量:保持数据的载体,命令的内存空间 本地变量: 环境变量 局部变量: 位置参数变量:$1,$2..., 特殊变量: $0 当前脚本的名字 shell脚本:shebang #!/bin/bash         #解释此脚本的shell路径,内核调用对应的解释器来解释脚本 #Description: #Version: #Author: #License: #Datetime: 脚本文件,其

Linux Bash编程需要注意的几个地方

日常开发基本都在linux环境下,bash命令用的不少,但是写脚本的地方不多.真的写起来,发现需要注意的语法.使用习惯的小问题还是不少. 查了些资料,也结合自己工作中遇到的一些问题,列举几个需要注意的地方 1. 变量赋值 用等号给变量赋值,=前后都不能有空格. var=32 now=`date +%y%m%d%H` cur_path=`dirname ` 2. 重定向 重定向:将命令的结果输出到文件,而不是标准输出(屏幕). > 写入文件并覆盖旧文件 >> 加到文件的尾部,保留旧文件内容

linux下的bash编程简要学习

linux下的bash编程简要学习     1.bash是什么: linux运行时系统只会运行系统运行所需要的运行脚本即系统守护进程,一般根据用户自己需求设定和实现的服务需要手动启动,这种服务进程通常由bash启动,脚本中的命令通常被按照一定规则被bash读取视作参数,因此在脚本头部要申明运行的bash类型,bash命令分为内建命令及外部命令,外部命令通过PATH进行依次查找. bash读取命令后将其启动(fork)成为一个进程,依次启动服务     2.bash控制语句:         本地

linux下Bash编程组合测试及编写脚本(五)

linux下Bash编程组合测试及编写综合脚本(五) 1.Bash编程组合测试条件 -a: 与关系 -o: 或关系 !: 非关系 表示方法1:[ $# -gt 100 -a $# -le 500 ] 表示方法2:[ $# -gt 100 ] && [ $# -le 500 ] 2.编写一个任意添加与删除用户的脚本,要求如下: 2.1:如果脚本选项是--add:,将添加用户; 如果选项是--del,将删除用户,如果是--help显示帮助信息 2.2:脚本选项后面的参数可任意指定多个用户并且用

linux下Bash编程循环语句特殊用法之编写脚本(十)

linux下Bash编程while语句特殊用法之编写脚本(十) 1.循环控制: break:中断整个循环语句,即退出循环后执行脚本后面的语句 continue:中断当前本次循环,提前进入下一轮循环 exit:结束脚本运行 2.while死循环,即当不知道循环多少次时 格式 : while :; do 循环语句 done 3.while从输入重定向文件中每行读取并赋值给read变量 格式:  while read LINE;do 循环语句 done < 路径文件 4.实例脚本 4.1.找出/etc

Linux Bash Shell编程快速入门

BASH 的基本语法 最简单的例子 -- Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     最简单的例子 -- Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例子出发,来逐步了解 BASH. 用 vi 编辑器编辑一个 hello 文件如下: #!/bin/bash# This is a very simple

15、自学——Linux的学习进度与任务【bash编程之条件判断】

bash编程之条件判断 bash编程之条件判断:判定后续操作的前提条件是否满足 1.条件判断的常用判断类型(bash内生的): 整数测试 字符测试 文件测试   2.echo $?(执行状态返回值): 0:正确 1-255:错误 布尔值: 真 假 3.逻辑运算: 与运算: 真 && 真 = 真(0) 真 && 假 = 假(非0) 假 && 真 = 假 假 && 假 = 假 或运算: 真 || 真 = 真(0) 真 || 假 = 真 假 ||

Linux进阶之bash编程(函数及总结)

1:bash函数的定义格式 [ function ] funname [()] {     action;     [return int;] } 说明: 1:可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2:函数返回值,可以带有return来返回:如果没有,则用函数体最后一行的执行结果,作为返回值.return后跟0-255数值.在调用函数后,通过$?来获得返回值: 3:参数传递,调用函数时,可以往里面传递参数,$n($1,$2...)获取参数值. 2:

Linux进阶之bash编程(流程控制-while,break,continue)

在bash编程中,经常会涉及使用while语句,时常处理未知循环次数的情况. while语法 while [ express ] do #command Done 2. 实战练习 提示输入大于10小于20的整数: while1.sh: #!/bin/bash echo -n "please input a digit between 10 and 20:" read n while [ $n -lt 10 ]||[ $n -gt 20 ] do echo -n "please