脚本
thomas_blog
路漫漫其修远兮
展开
-
pipe管道
进程I/OFILE *popen(const char *command, const char *type);创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程 type: 如果 type 是 “r” 则文件指针连接到 command 的标准输出;如果 type 是 “w” 则文件指针连接到 command 的标准输入 command: 一个指向以转载 2015-06-26 11:21:26 · 621 阅读 · 0 评论 -
shell获取用户名和uid
# echo "$USER"# echo `id -u`# echo `whoami`# echo `who am i`# who# echo "$UID"转载 2015-04-28 11:14:37 · 15305 阅读 · 0 评论 -
UNIX常用shell
Bourne shellC shellKorn shellBourne Again ShellTENEX/TOPS C shell转载 2017-05-16 09:55:07 · 5176 阅读 · 0 评论 -
CGI编程
通用网关接口Common Gateway InterfaceFORM表单每个标签都有name属性,这个属性是为服务器准备的action属性:对表单进行处理需要有一个程序,这个属性就是URL地址method属性:或者是get,或者是postenctype属性:如果不想在发送这个表单时包括上一个文件,就可以省略这个属性INPUT标签定义了客户输入的类型,输入数...原创 2014-10-20 19:01:31 · 393 阅读 · 0 评论 -
工具命令语言 Tcl
Tcl是一种解释性语言,Tcl通常被称为脚本(script)Tool Command Language给变量赋值要使用set命令,如果变量不存在,就创建它Tcl的值都可以当做字符串来处理,但Tcl会在必要时自动完成类型的转换原创 2014-10-11 14:19:17 · 1206 阅读 · 0 评论 -
linux服务脚本
#!/bin/shARG=$1case $ARG in start):nohup /path/program &;;stop):pkill program;;restart):pkill programnohup /path/program &;;esacexit 0开机自启动服务 http://blog.csdn.net/zhangxuechao_/artic转载 2017-05-30 20:45:47 · 338 阅读 · 0 评论 -
linux运行级
Linux有0到6个级别,分别对应/etc/rcN.d,N对应7个级别各运行级详解0. 关机1. 单用户模式,类似于Windows安全模式2. 多用户模式3. 完整的多用户模式。标准运行级4. 不用5. X11控制台6. 重启举例S60umountrootS90rebootK50proftpdS:代表start,启动服务 K:代表kill,终止服务 60,90:启动顺序60->9转载 2016-08-09 23:09:03 · 344 阅读 · 0 评论 -
Makefile简介
//test:test1.c test2.c$@--目标文件test$^--所有的依赖文件test1.c test2.c$<--第一个依赖文件test1.cwildcard : 扩展通配符notdir : 去除路径patsubst :替换通配符ASRC = $(wildcard *.S)src=$(wildcard *.c ./sub/*.c)dir=$(notdir $(sr转载 2015-03-31 11:57:37 · 441 阅读 · 0 评论 -
Makefile常用函数
字符串处理函数1. 函数语法${<function> <arguments>}make支持的函数不多。参数间以逗号”,”分隔,而函数名和参数之间以”空格”分隔,函数调用以”$”开头,以圆 括号或花括号把函数名和参数括起。函数和变量的括号最好一样2. 字符串替换函数$(subst <from>,<to>,<text>)功能:把字串<text>中的<from>字符串替换成<to>返回:函数返回被转载 2015-04-22 19:27:21 · 351 阅读 · 0 评论 -
$*和$@区别
for i in "$@"do echo $idone# ./test.sh 1 2 3 41234for i in "$*"do echo $idone# ./test.sh 1 2 3 41 2 3 4转载 2017-06-09 13:45:27 · 649 阅读 · 0 评论 -
linux shell脚本
不论是哪一种Shell,它最主要功能都是解译使用者的指令。类似windows中.batUNIX常用shell: http://blog.csdn.net/zhangxuechao_/article/details/72235721运行方法# sh file.sh# ./file.sh# source file.sh变量所有的变量都由字符串组成,并且您不需要对变量进行声明转载 2017-06-09 13:38:13 · 329 阅读 · 0 评论 -
Shell 冒泡排序
举例#!/bin/bashecho &quot;please input a number list:&quot;read -a arrsfor((i=0;i&amp;lt;${#arrs[@]};i++)){ for((j=0;j&amp;lt;${#arrs[@]}-1;j++)) { if [[ ${arrs[j]} -gt ${arrs[j+1]} ]];then tm...转载 2018-07-07 11:42:35 · 1240 阅读 · 0 评论 -
Shell 选择排序
举例#!/bin/bashecho "please input a number list:"read -a arrsfor((i=0;i<${#arrs[@]};i++)){ mindex=i; for((j=i+1;j<${#arrs[@]};j++)) { if [[ ${arrs[j]} -lt ${arrs[mindex]} ]];t...转载 2018-07-07 11:44:07 · 860 阅读 · 0 评论 -
驱动Makefile
obj-m := hello.oKERNEL_DIR := /usr/local/$(shell uname -r)/buildall: make -C $(KERNEL_DIR) $(shell pwd) modulesclean: rm *.o *.ko *.mod.c.PHONY:cleanuname -r会得到正在使用的完整内核版本号 make -C会进入KERNEL_D转载 2016-06-07 22:40:57 · 310 阅读 · 0 评论 -
uboot使用脚本
使用mkimage命令# mkimage -A ARM -O linux -T script -C none -n "script" -d *.sh *.img# tftp xxx *.img# source xxx脚本中可以设置env变量值转载 2016-07-25 23:57:47 · 969 阅读 · 0 评论 -
PS1变量设置
\d :代表日期,格式为weekday month date\H :完整的主机名\h :主机的第一个名字\t :显示时间为24小时格式(HH:MM:SS)\T :显示时间为12小时格式\A :显示时间为24小时格式(HH:MM)\u :当前用户的账户名\v :BASH的版本信息\w :完整的工作目录名\W :利用basename取得工作目录名称,所以只会列出最后一个目录\# :第转载 2016-07-24 23:46:29 · 4880 阅读 · 0 评论 -
shell执行多个命令
每个命令之间用;隔开 说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。每个命令之间用&&隔开 说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。每个命令之间用||隔开 说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。转载 2015-03-30 12:44:29 · 1025 阅读 · 0 评论 -
shell变量$#,$@,$0,$1,$2的含义
$$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形转载 2015-03-30 15:58:45 · 500 阅读 · 0 评论 -
shell之比较
1. 整数比较-eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge "$b" ] -lt 小于,如:if [ "$a" -lt "$b" ] -le 小于等于,如:if [ "$a" -le "$b" ] <转载 2015-03-30 15:20:56 · 551 阅读 · 0 评论 -
configure详解
尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的--cache-file=FILE在你的系统上测试存在的特性(或者bug!)。为了加速随后进行的配置,测试的结果会存储在一个cache file里。当configure一个每个子树里都有'configure'脚本的复杂的源码树时,一个很好的cache file的存在会有很大帮助--prefix=转载 2015-07-09 18:19:54 · 1343 阅读 · 0 评论 -
GNU autotools 安装和使用
1. 下载 http://www.gnu.org/software/software.html 2. 安装 m4-1.4.11.tar.gz autoconf-2.63.tar.gz automake-1.9.1.tar.gz3. autotools五工具aclocalautoscanautoconfautoheaderautomake4. autotools使用流程 第一步:转载 2015-07-09 18:17:05 · 3730 阅读 · 1 评论 -
linux mount 详解
第一步:查看U盘信息# sudo fdisk -l 得到类似下面这样的信息 Disk /dev/sdb: 8027 MB, 8027897856 bytes14 heads, 22 sectors/track, 50907 cylindersUnits = cylinders of 308 * 512 = 157696 bytesDevice Boot Start End Blocks Id转载 2015-04-28 18:32:12 · 410 阅读 · 0 评论 -
linux环境变量配置文件
/etc/environment:是设置整个系统的环境 /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置 /etc/bash.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取 ~/.bash_profile: 每个用转载 2015-05-04 11:13:49 · 371 阅读 · 0 评论 -
linux安装包制作
1. 常见安装包打包或压缩文件tar,zip,gz等,一般解压后即可管理工具的deb,rpm等。这类安装文件可以通过第三方的命令安装 (apt和yum).bin类,其实就是把sh和zip打包为bin,或把sh和rpm打包为bin等。其实就是bin里面的sh来解压bin中的zip或安装rpm的过程2. run包 run包实质|-----------------||转载 2015-09-10 14:02:36 · 863 阅读 · 0 评论 -
shell公共函数functions
checkpid:检查是否已存在pid,如果有一个存在,返回0(通过查看/proc目录) daemon:启动服务 killproc:杀死某个进程 pidfileofproc:寻找某个进程的pid pidofproc:同上,使用pidof命令 status:返回一个服务的状态 echo_success,echo_failure,echo_passed,echo_warning分别输出各类信转载 2015-08-20 16:00:19 · 2054 阅读 · 0 评论 -
chkconfig命令
1、chkconfig命令用来更新和查询不同运行级别上的系统服务 比如你安装了mysql,并且你把启动的脚本放在了/etc/rc.d/init.d目录下,有时候你需要开机自动启动它,而有时候则不需要,因此,就可以使用chkconfig命令来进行控制,这个命令就相当于一个开关,不过这个开关有6个档,表示在不同级别下的运行状态是on还是off 2、语法解释chkconfig --list [name转载 2015-06-15 15:14:15 · 846 阅读 · 0 评论 -
shell EOF 用户自定义终止符
#!/bin/bashftp -n << EOFuser guest 123456binarycd /home/promptmget *closebyeEOF使用Tab缩进#!/bin/bash ftp -n <<-EOF ... EOF注:<<后面不能有空格转载 2016-03-21 21:14:21 · 1010 阅读 · 0 评论 -
linux守护进程start-stop-daemon启动服务
#! /bin/shPATH=/sbin:/bin. /lib/lsb/init-functionsdo_start () { log_action_msg "do_start tftp here" if start-stop-daemon --start --background --pidfile /var/run/tftp.pid \ --exec /home...转载 2019-06-28 10:06:40 · 1558 阅读 · 0 评论