bash获得脚本当前路径】的更多相关文章

#!/bin/bashCMD_PATH=`dirname $0`echo "current cmd path:$CMD_PATH"cd $CMD_PATHecho $PWDecho '666666' | sudo mv /home/wubin/test $CMD_PATH/setup…
java  调用bash shell脚本阻塞的小问题的解决 背景 使用java实现的web端,web端相应用户的界面操作,使用java调用bash实现的shell脚本进行实际的操作,操作完成返回执行结果给web 界面显示. 现象: Java 进程阻塞.使用ps命令可以看到被调用的shell 的执行进程状态为S 分析 Shell子进程的状态是S 睡眠状态,也就是该进程在等待某个条件满足,方能继续执行. Java程序在调用Runtime.getRuntime().exec(jyName)之后,lin…
在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则 1. 单引号和双引号的区别 单引号与双引号的最大不同在于双引号仍然可以引用变量的内容,但单引号内仅是普通字符,不会作变量的引用,直接输出字符窜.请看如下例子: [root@linux ~]# name=HaHa [root@linux ~]# echo $name HaHa [root@linux ~]# myname="$nam…
bash shell 脚本简介 shell 运行环境 如果你运行的是 Unix 或 Linux 系统,例如 Ubuntu,Red Hat,SUSE Linux,还有macOS,都是内置了 bash shell 的,所以你不需要额外配置所谓的开发环境. 我的 shell 环境是 macOS Sierra 版本,如果你用的是其他 Linux 系统,后面的例子基本上都是可以运行的. 首先,打开Terminal 命令行,先检查下你的系统的 shell 版本: echo $BASH_VERSION bas…
二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.   整数比较   -eq        等于,如:if [ "$a" -eq "$b" ] -ne        不等于,如:if [ "$a" -ne "$b" ] -gt        大于,如:if [ "$a" -gt "$b" ] -ge        大于等于,如:if [ "$a" -ge…
转载自https://www.jianshu.com/p/ba6efda13e23 转载地址:http://www.jquerycn.cn/a_8354 bash shell 脚本执行的方法有多种,本文作一个总结,供大家学习参考. 假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前…
自己的脚本: #!/bin/bash expect  -c  "     set timeout 3600;     spawn su -;     expect *assword:*;      send 123456\r;     interact;";   ------------------------------------------参考------------------------------------ ssh连接远程主机时候询问密码,跟su.sudo命令的默认行为一…
1.基础 #!/bin/bash   //bash脚本第一句都是这个,他会让系统指定以bash来解释这个脚本 #                 //shell脚本注释符号 2.变量和使用 HOME="/home"                //注意赋值不要有空格 a=123 HOME_LIST=$(ls /home) //把命令的执行结果赋值给变量 ehco $HOME                   //$ 符号是获得变量HOME的值 a=a+1 系统变量: $0 这个程序…
http://www.linuxsky.org/doc/newbie/201004/389.html 1.基础 #!/bin/bash //bash脚本第一句都是这个,他会让系统指定以bash来解释这个脚本 # //shell脚本注释符号 2.变量和使用 HOME="/home" //注意赋值不要有空格 a=123 HOME_LIST=$(ls /home) //把命令的执行结果赋值给变量 ehco $HOME //$ 符号是获得变量HOME的值 a=a+1 系统变量: $0 这个程序…
python当前进程可以调用子进程,子进程可以执行其他命令,如shell,python,java,c... 而调用子进程方法有 os模块 参见:http://blog.csdn.net/longshenlmj/article/details/8331526 而提高版是 subprocess模块,类似os的部分功能,可以说是优化的专项功能类. python subprocess 用于程序执行时调用子程序,通过stdout,stdin和stderr进行交互. Stdout子程序执行结果返回,如文件.…
1.sh/bash要注意空格的使用 2. for循环: for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fi done while循环和多选择语句 #!/bin/bash while : d…
练习:写一脚本,实现如下功能: 1.让用户通过键盘输入一个用户名,如果用户不存在就退出: 2.如果其UID等于其GID,就说它是个"good guy" 3.否则,就说它是个“bad guy”: #!/bin/bash read -t -p 'please enter user name:' UserName echo "your input the name is $UserName" if id $UserName &> /dev/null ;the…
#!/bin/bash set -x 脚本第一行加 #!/bin/expact -d…
$0:脚本名字.此变量包含地址,可以使用basename $0获得脚本名称.$1:第一个参数$2,$3,$4,$5,…一次类推. $# 传递到脚本的参数个数$* 以一个单字符串显示所有向脚本传递的参数$$ 脚本运行的ID号$! 后台运行的最后一个进程的ID号$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数.$- 显示shell使用的当前选项.$? 显示最后命令的推出状况.0表示没有错误.…
1.查找当前目录中所有大于500M的文件,把这些文件名写到一个文本文件中,并统计其个数. find ./ -size +500M -type f | tee file_list | wc -l 2.在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中. for filename in `find /tmp -type f -name "abc*"|head -n 100` do sed -n '1p' $filename>>new don…
命令行应该这样写: sh -c "脚本字符串" example: sh -c "if ! type dpkg > /dev/null ; then echo 'some messages' fi"…
Jaromil 在 2002 年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在 shell 中运行后几秒后系统就会宕机: :(){:|:&};: 这样看起来不是很好理解,我们可以更改下格式: :() { :|:& }; : 更好理解一点的话就是这样: bomb() { bomb|bomb& }; bomb 因为shell中函数可以省略function关键字,所以上面的十三个字符是功能是定义一个函数与调用这个函数,函数的名称为:,主要的核心代码是:|:&am…
查看当前系统环境变量 cat test2: #!/bin/bash # display user information from the system. echo "User info for userid:$USER" echo UID:$UID echo HOME:$HOME 添加执行权限:chmod u+x test2 运行:./test2 结果如下: User info for userid:clarck UID: HOME:/home/clarck…
bash shell中的数学运算 cat test7: #!/bin/bash # An example of using the expr command var1= var2= var3=`expr $var2 / $var1` echo The result is $var3 添加可执行权限:chmod u+x test7 运行:./test7 结果如下: The result is…
shell中的时间日期获取 cat test5: #!/bin/bash # using the backtick character testing=`date` echo "The date and time are:" $testing date=`date +%Y-%m-%d_%H-%M-%S` echo "The date are:" $date 添加可执行权限:chmod u+x test5 运行:./test5 结果如下: The :: CST The…
shell中变量的使用 cat test3: #!/bin/bash # testing variables days= guest="Katie" echo "$guest checked in $days days ago" days= guest="Jessica" echo "$guest checked in $days days ago" 添加可执行权限:chmod u+x test3 运行:./test3 结果如…
查看当前日期以及登陆用户: cat test1: #!/bin/bash # This script displays the date and who's logged on echo -n The time and date are: date echo "Let's see who's logged into the system:" who 添加执行权限:chmod u+x test1 执行./test1,得带结果如下: The :: CST Let's see who's l…
Windows git bash 默认没有sudo命令,可以添加win-sudo插件实现该功能 curl -s https://raw.githubusercontent.com/imachug/win-sudo/master/install.sh | sh 如果上面的命令没有用,可以复制https://raw.githubusercontent.com/imachug/win-sudo/master/install.sh的内容到本地install.sh,然后bash install.sh执行…
-e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filename可执行,则为真 -s filename 如果文件长度不为0,则为真 -h fil…
脚本基础 参考资料:Shell Scripts (Bash Reference Manual) 不严谨地说,编程语言根据代码运行的方式,可以分为两种方式: 编译运行:需要先将人类可识别的代码文件编译成机器可运行的二进制程序文件后,方可运行.例如C语言和Java语言. 解释运行:需要一个编程语言的解释器,运行时由解释器读取代码文件并运行.例如python语言(解释器:/usr/bin/python)和shell脚本(解释器:/bin/bash). 根据其是否调用OS上的其他应用程序来分来: 脚本语…
1. exit:退出脚本.可以定义,如 #exit 数字(0-255) 2. 文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通 -d FILE:测试指定路径是否为目录 -r FILE:测试指定文件对当前用户有读权限 -w FILE:测试指定文件对当前用户有写权限 -x FILE:测试指定文件对当前用户有执行权限 [ –e  /etc/inittab ] , 注这个括号前后有空格 3. 多分支的if语句 格式如下: if 判断条件1; then statement1…
原文网址:http://zhu8337797.blog.163.com/blog/static/170617549201122512712136/ 命 令 选 项 功 能 bash –x 脚本名 回显 在变量替换之后.执行命令之前,显示脚本的每一行 bash –v 脚本名 详细 在执行之前,按输入的原样打印脚本中各行 bash –n 脚本名 不执行 解释但不执行命令 set –x 打开回显 跟踪脚本的执行 set +x 关闭回显 关闭跟踪功能 --------------------------…
小弟刚刚接触linux,对linux上的很多东西都比较陌生,所以写一写博客,当做自己工作的总结和技术的积累吧,也是鞭策自己不断努力的去学习. 今天之所以起这个标题,把export,source ,bash这三个命令放在一起讲,实在是因为自己做了一件蠢事. 什么样的蠢事先不说.先分析下这三个命令. 首先是export命令. 1.export命令 Linux export命令用于设置或显示环境变量. 在shell中执行程序时,shell会提供一组环境变量.export可新增,修改或删除环境变量,供后…
高级Bash脚本编程指南(27):文本处理命令(三) 成于坚持,败于止步 处理文本和文本文件的命令 tr 字符转换过滤器. 必须使用引用或中括号, 这样做才是合理的. 引用可以阻止shell重新解释出现在tr命令序列中的特殊字符. 中括号应该被引用起来防止被shell扩展. 无论tr "A-Z" "*" <filename还是tr A-Z \* <filename都可以将filename中的大写字符修改为星号(写到stdout). 但是在某些系统上可能就…
原文地址:http://blog.csdn.net/caesarzou/article/details/7310201 source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限" 注:该命令通常用命令“.”来替代. 如:source .bash_profile . .bash_profile两者等效. source(或点)命令通常用于重新执行刚修改的初始化文档. source命令(从 C…