摘要:
Linux脚本编写语法基础介绍:
1 开头
程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编写脚本完成时,如果要执行该脚本,还必须使其可执行。
要使编写脚本可执行:
编译 chmod +x filename 这样才能用./filename 来运行
2 注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。
如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
3 变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
#!/ 阅读全文
摘要:
#sample Makefile
edit : main.o kbd.o command.o display.o \ #第一次:作为目标“edit”的依赖文件列表出现
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o \#第二次:规则命令行中作为“cc”的参数列表
insert.o search.o files.o utils.o
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
display.o : display.c defs.h 阅读全文
摘要:
经过长时间学习linux Makefile,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。
假设我们有一个程序由5个文件组成,源代码如下:
/*main.c*/
#include "mytool1.h"
#include "mytool2.h"
int main()
{
mytool1_print("hello mytool1!");
mytool2_print("hello mytool2!");
return 0;
}
/*mytool1.c*/
#include "mytool1.h"
#include
void mytool1_print(char *print_str) 阅读全文
摘要:
t ~]# pgrep -l gaim 5031 gaim
5031 gaim
[root@localhost ~]# kill -9 5031
特殊用法:
kill -STOP [pid] 阅读全文
摘要:
Linux程序前台后台切换1、在Linux终端运行命令的时候,在命令末尾加上 & 符号,就可以让程序在后台运行Ubuntu$"root@Ubuntu$ ./tcpserv01 &
2、如果程序正在前台运行,可以使用 Ctrl+z 选项把程序暂停,然后用 bg %[number] 命令把这个程序放到后台运行Ubuntu"cat@Ubuntu:~/unp/unpv13e/tcpcliserv$ ./tcpserv01 ^Z [1]+ Stopped ./tcpserv01 cat@Ubuntu:~/unp/unpv13e/tcpcliserv$ bg %1 [1]+ ./tcpserv01 & cat@Ubuntu:~/unp/unpv13e/tcpcliserv$
3、对于所有运行的程序,我们可以用jobs –l 指令查看cat@Ubuntu:~/unp/unpv13e/tcpclis 阅读全文
摘要:
kill -STOP 1234 将该进程暂停。
如果要让它恢复到后台,用kill -CONT 1234 (很多在前台运行的程序这样是不行的)
如果要恢复到前台,请在当时运行该进程的那个终端用jobs命令查询暂停的进程。
然后用 fg 〔job号〕把进程恢复到前台。
如果jobs只查询到一个进程,只用 fg 即可。
例:root@dWorks:~# bc -q
[1]+ Stopped bc -q
root@dWorks:~# bc -q
[2]+ Stopped bc -q
root@dWorks:~# jobs
[1]- Stopped bc -q
[2]+ Stopped bc -q
root@dWorks:~# fg 2
bc -q
1+1
2
A,Shell支持作用控制,有以下命令: 阅读全文