linux命令行定义函数 linux 定义函数

linux 如何自定义命令函数?你是想问在shell(比如说bash)下如何定义一个函数cuts吗?
如果是bash,那么就直接在shell 下输入以下内容
function cuts () {
echo "Hello world"
}
然后就可以在当前终端下调用cuts了,比如
$ cuts
Hello world
如果你是想在某个脚本中调用函数cuts,那么只要把上面那段代码加入脚本中 , 也就可以用了,比如
#!/bin/bash
function cuts ()
{
echo "Hello world"
}
....
cuts
....
Linux 系统中可以自定义函数function (){};请问怎么回显函数的内容?#!/bin/bash
read -p "please input display function:" fun
echo
if grep "$fun" $0/dev/null
then
sed -n "/${fun}/,/\}/p" $0
else
echo "not found $fun"
fi
test1() {
echo "olny display function content"
}
不止道是不是linux命令行定义函数你linux命令行定义函数的需求
linux如何添加自己的系统函数你这个不叫系统函数,系统函数是操作系统内核提供给应用程序调用的接口 。
你这个就是个应用程序,自己写个程序hello.c如下:
#include stdio.h
void main()
{
printf("Hello world!\n");
}
然后再用gcc编译成可执行程序:
gcc -o hello hello.c
这时候在当前目录下就会生成一个叫hello的可执行程序 , 输入./hello之后就会打印出Hello world!了 。如果你不想输入目录的话 , 你也可以把这个hello可执行程序所在的目录加入到path环境变量中就可以了 。
linux 函数定义与调用linux shell函数定义语法有2种,如下:
注:
函数返回值有2种方式,如下:
注:
使用反引号“``”,获取函数最后一条命令运行结果,并将该运行结果输出赋予某一变量,如:
注:
无参函数调用直接使用函数名调用即可,如:
有参函数调用和无参调用类似,直接在函数名后加上参数即可,多个参数用空格隔开,如:
注:
PHP执行linux系统命令的常用函数使用说明system函数
说明linux命令行定义函数:执行外部程序并显示输出资料 。
语法:string
system(string
command,
int
[return_var]);
返回值:
字符串
详细介绍:
本函数就像是
C
语中的函数
system()linux命令行定义函数 , 用来执行指令linux命令行定义函数,并输出结果 。若是
return_var
参数存在linux命令行定义函数,则执行
command
之后的状态会填入
return_var
中 。同样值得注意的是若需要处理用户输入的资料 , 而又要防止用户耍花招破解系统,则可以使用
EscapeShellCmd() 。若
PHP
以模块式的执行,本函数会在每一行输出后自动更新
Web
服务器的输出缓冲暂存区 。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用
PassThru() 。
实例代码:
复制代码
代码如下:
?php
$last_line
=
system('ls',
$retval);
echo
'Last
line
of
the
output:
'
.
$last_line;
echo
'hr
/Return
value:
'
.
$retval;
?
exec函数
说明:执行外部程序 。
语法:string
exec(string
command,
string
[array],
int
[return_var]);
返回值:
字符串
详细介绍:
本函数执行输入
command
的外部程序或外部指令 。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串 , 可以使用
PassThru()
这个函数 。
要是参数
array
存在 , command
会将
array
加到参数中执行,若不欲
array
被处理,可以在执行
exec()
之前呼叫
unset() 。若是
return_var

array
二个参数都存在 , 则执行
command
之后的状态会填入
return_var
中 。
值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用
EscapeShellCmd() 。
实例代码:
复制代码
代码如下:
?php
echo
exec('whoami');
?
popen函数
说明:打开文件 。
语法:int
popen(string
command,
string
mode);
返回值:
整数
详细介绍:
本函数执行指令开档,而该文件是用管道方式处理的文件 。用本函数打开的文件只能是单向的
(只能读或只能写),而且一定要用
pclose()
关闭 。在文件操作上可使用
fgets()、fgetss()

fputs() 。若是开档发生错误,返回
false
值 。
实例代码:
复制代码
代码如下:
?
$fp
=
popen("/bin/ls","r"
);
?
PHP监控linux服务器负载
在实际项目的应用中,我们由于各种条件的现实 , 利用PHP来实现服务器负载监控将是一种更为灵活的方式 。
由于Web
Server以及PHP的实现方式所限 , 我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序 , 对此,我从网上找到另外一种方式来绕开这个限制 。首先先写个c程序中转调用系统命令 , 然后用PHP去执行此c程序 。
c程序
首先写个c文件,比如/usr/local/ismole/w.c
复制代码
代码如下:
#includestdio.h
#includestdlib.h
#includesystypes.h
#includeunistd.h
int
main()
{
uid_t
uid
,euid;
//note
获得当前的uid
uid
=
getuid();
//note
获得当前euid
euid
=
geteuid();
//note
交换这两个id
if(setreuid(euid,
uid))
perror("setreuid");
//note
执行将要执行linux系统命令
system("/usr/bin/w");
return0;
}
编译该文件gcc
-o
w
-Wall
w.c,这时会在当前目录下生成程序w 。改变此程序的属主chmod
u s
./w 。
PHP执行
文件内容如下,放在web目录下,访问就会输出当前的服务器负载情况 。
复制代码
代码如下:
?php
/*
More
Original
PHP
Framwork
Copyright
(c)
2007
-
2008
IsMole
Inc.
$Id:
serverMonitor.php
408
2008-12-02
08:07:40Z
kimi
$
*/
//note
key的验证过程
if($key
!=
$authkey)
{
//
exit('key
error);
}
$last_line
=
exec('/usr/local/ismole/w',
$retval);
$returnArray
=
explode("load
average:
",
$retval[0]);
$returnString
=
$returnArray[1];
echo
$returnString;
 按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等 。
【linux命令行定义函数 linux 定义函数】linux命令行定义函数的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于linux 定义函数、linux命令行定义函数的信息别忘了在本站进行查找喔 。

    推荐阅读