在Linux下,如果你需要执行shell脚本,那么应该使用那个命令呢?下面由我为大家整理了linux shell脚本执行命令的相关知识,希望对大家有帮助!
成都创新互联公司是专业的平罗网站建设公司,平罗接单;提供成都做网站、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行平罗网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
linux shell脚本执行
linux shell脚本执行方法一: 切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:
cd /data/shell
./hello.sh
./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。
linux shell脚本执行方法二: 以绝对路径的方式去执行bash shell脚本:
/data/shell/hello.sh
linux shell脚本执行方法三: 直接使用bash 或sh 来执行bash shell脚本:
cd /data/shell
bash hello.sh
或
cd /data/shell
sh hello.sh
注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊。
linux shell脚本执行方法四: 在当前的shell环境中执行bash shell脚本:
cd /data/shell
. hello.sh
或
cd /data/shell
source hello.sh
前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。
如果没有运维人员或运维软件,但是又面临在一个集群中每台机器都执行一个命令时,总不能真的登录每一台吧。那这里就起一个简单的命令分发执行脚本。
0、确保脚本所在的机器能够免密登录到集群其他机器
SSH免密登录配置
1、将集群的IP都写入一个文件中
2、编写命令分发脚本
如果机器数量少,可以替换第三行语句为
如果机器IP配置的映射名有规律,也可以替换第三行语句为
同时后面的 $i 替换为 hadoop$i
3、测试
(run1.sh ) ; (run2.sh ) ; (run3.sh)
如果还有继续加
在 Linux 命令行中运行 PHP 代码
PHP的语法和C、Java以及带有一些PHP特性的Perl变成语言中的语法十分相似,它当下大约正被2.6亿个网站所使用,当前最新的稳定版本是PHP版本5.6.10。
PHP是HTML的嵌入脚本,它便于开发人员快速写出动态生成的页面。PHP主要用于服务器端(而Javascript则用于客户端)以通过HTTP生成动态网页,然而,当你知道可以在Linux终端中不需要网页浏览器来执行PHP时,你或许会大为惊讶。
本文将阐述PHP脚本语言的命令行方面。
1. 在安装完PHP和Apache2后,我们需要安装PHP命令行解释器。
复制代码 代码如下:
# apt-get install php5-cli
[Debian 及类似系统]# yum install php-cli
[CentOS 及类似系统]
接下来我们通常要做的是,在 /var/www/html (这是 Apache2 在大多数发行版中的工作目录)这个位置创建一个内容为 ?php phpinfo(); ? ,名为 infophp.php 的文件来测试(PHP是否安装正确),执行以下命令即可。
复制代码 代码如下:
# echo '?php phpinfo(); ?' /var/www/html/infophp.php
然后,将浏览器访问 ,这将会在网络浏览器中打开该文件。
检查PHP信息
不需要任何浏览器,在Linux终端中也可以获得相同的结果。在Linux命令行中执行 /var/www/html/infophp.php ,如:
复制代码 代码如下:
# php -f /var/www/html/infophp.php
从命令行检查PHP信息
由于输出结果太大,我们可以通过管道将上述输出结果输送给 less 命令,这样就可以一次输出一屏了,命令如下:
复制代码 代码如下:
# php -f /var/www/html/infophp.php | less
检查所有PHP信息
这里,‘-f‘选项解析并执行命令后跟随的文件。
2. 我们可以直接在Linux命令行使用 phpinfo() 这个十分有价值的调试工具而不需要从文件来调用,只需执行以下命令:
复制代码 代码如下:
# php -r 'phpinfo();'
PHP调试工具
这里,‘-r‘ 选项会让PHP代码在Linux终端中不带 和 标记直接执行。
3. 以交互模式运行PHP并做一些数学运算。这里,‘-a‘ 选项用于以交互模式运行PHP。
复制代码 代码如下:
# php -aInteractive shellphp echo 2+3;5php echo 9-6;3php
echo 5*4;20php echo 12/3;4php echo 12/5;2.4php echo
2+3-1;4php echo 2+3-1*3;2php exit
输入 ‘exit‘ 或者按下 ‘ctrl+c‘ 来关闭PHP交互模式。
启用PHP交互模式
4. 你可以仅仅将PHP脚本作为shell脚本来运行。首先,创建在你当前工作目录中创建一个PHP样例脚本。
复制代码 代码如下:
# echo -e '#!/usr/bin/php\n?php phpinfo(); ?' phpscript.php
注意,我们在该PHP脚本的第一行使用 #!/usr/bin/php ,就像在shell脚本中那样( /bin/bash )。第一行的 #!/usr/bin/php 告诉Linux命令行用 PHP 解释器来解析该脚本文件。
其次,让该脚本可执行:
复制代码 代码如下:
# chmod 755 phpscript.php
接着来运行它,
复制代码 代码如下:
# ./phpscript.php
5. 你可以完全靠自己通过交互shell来创建简单函数,这你一定会被惊到了。下面是循序渐进的指南。
开启PHP交互模式。
复制代码 代码如下:
# php -a
创建一个函数,将它命名为 addition 。同时,声明两个变量 $a 和 $b 。
复制代码 代码如下:
php function addition ($a, $b)
使用花括号来在其间为该函数定义规则。
复制代码 代码如下:
php {
定义规则。这里,该规则讲的是添加这两个变量。
复制代码 代码如下:
php { echo $a + $b;
所有规则定义完毕,通过闭合花括号来封装规则。
复制代码 代码如下:
php {}
测试函数,添加数字4和3,命令如下:
复制代码 代码如下:
php var_dump (addition(4,3));
样例输出
复制代码 代码如下:
7NULL
你可以运行以下代码来执行该函数,你可以测试不同的值,你想来多少次都行。将里头的 a 和 b 替换成你自己的值。
复制代码 代码如下:
php var_dump (addition(a,b));
php var_dump (addition(9,3.3));
样例输出
复制代码 代码如下:
12.3NULL
创建PHP函数
你可以一直运行该函数,直至退出交互模式(ctrl+z)。同时,你也应该注意到了,上面输出结果中返回的数据类型为 NULL。这个问题可以通过要求 php 交互 shell用 return 代替 echo 返回结果来修复。
只需要在上面的函数的中 ‘echo‘ 声明用 ‘return‘ 来替换
替换
复制代码 代码如下:
php { echo $a + $b;
为
复制代码 代码如下:
php { return $a + $b;
剩下的东西和原理仍然一样。
这里是一个样例,在该样例的输出结果中返回了正确的数据类型。
PHP函数
永远都记住,用户定义的函数不会从一个shell会话保留到下一个shell会话,因此,一旦你退出交互shell,它就会丢失了。