十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#!/bin/bash
成都创新互联公司网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都网站设计、网站建设,塑造企业网络形象打造互联网企业效应。
#echo hi
DEBUG=0
case $1 in
想要启动的程序名)
DEBUG=1 ;;
esac
if [[ $DEBUG -eq 1 ]]; then
# 启动命令
./elasitcsearch -d
echo "程序已启动"
exit 10
else
echo 启动命令只能使用.想要启动的程序名)
exit 7
fi
不过我怎么觉得好奇怪呢。我没写过这种东西,我总感觉那里有问题。case 可以自己添加某些进程进去。这样子你不需要在程序目录存放只需要在你的家目录存放就行。没需要添加一个程序 就在case下添加进去就行。代码都差不多
原文及更新:
直接在/etc/rc.local(/etc/rc.d/rc.local)文件中添加即可
上面这脚本实际上在使用时出现了问题, /home/neucrack/software/ss/start_ss_local.sh 这个命令始终没有被执行,原因是 /home/neucrack/software/ss/start_kcptun_client.sh 中的命令阻塞了进程,导致后面一句始终没有执行,可以将他们分别放到后台执行就行了,如何在后台执行可以看文章最后一部分
也可以自己手动在rc*.d中建立软连接
桌面系统搜索 启动 ,打开启动管理器 添加删除即可
一般有以下几种方法:
1)在输入命令的最前面加上 nohup 命令
如 nohup your_command 这样命令在你退出后仍然会在后台执行
2) setsid 命令
setsid your_command 该命令的结果是使你所运行的命令的父进程为init,所以只有关机该进程才会停止
3) (your_command )
就是用括号将你的命令括起来,这样做也是使命令的父进程为init
4) disown
当你在命令行下输入 your_command 后命令就在后台执行了,然后执行jobs命令,该命令会列出当前正在后台执行的命令。例如输入命令“top”
然后执行"jobs"
输出结果是
[1] + Suspended (tty output) top
注意行开头方括号内的数字,该数字叫做jobspec,是给当前后台运行的job的编号。这是你只要在命令行下输入"disown -h 1" 后台运行的top命令就不会受到hangup信号的影响了。
5)使用 screen 命令
在命令行下输入screen命令就开启了一个screen进程,它就好像是一个全新的命令运行环境,在该环境中你可以像在正常的terminal下那样执行
命令,但是这个screen是不受其父进程的hangup信号的影响的,既然screen不受其父进程影响,当你意外掉线或者退出系统时,在screen
中仍在执行的命令仍然会继续执行。关于screen命令的使用方法你可以再去查阅相关资料。
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,它就会丢失了。
在Linux下,如果你需要执行shell脚本,那么应该使用那个命令呢?下面由我为大家整理了linux shell脚本执行命令的相关知识,希望对大家有帮助!
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中执行的。
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
2、其次,在linux命令行中输入:cp -f word.txt /word.txt。
3、键盘按“回车键”运行shell指令,此时会看到cp命令直接执行不提示用户手动判断覆盖了。
Linux运行sql脚本的具体操作步骤如下:
1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的操作用户,命令是:su - postgres,查看当前路径是/var/lib/psql,创建一个test.sql脚本文件,命令是:vim test.sql。
2、sql脚本内容是:create table test (id int not null primary key,name text);insert into test valus(1, 't1');
3、执行test.sql脚本,命令是:psql -f test.sql
这里是因为postgresql安装本机上,在第一步中我们切换到了postgres用户,因此这里默认就是postgres用户来操作,不用带上用户名和密码。执行结果如下,可以看到有两个提示:
create table
insert 0 1
执行完成后,我们登入数据库,命令是:psql
4、进入psql交互式命令行后,我们执行两个查看命令:\d
可以看到表test确实已经创建成功,然后执行命令:\d test
可以看到表中字段是id和name,和我们创建语句中内容一样,说明第一条语句执行成功。
5、查看表中数据,命令是:select * from test;
显示出来的值是1,t1,说明第二条执行语句也执行成功,说明test.sql脚本执行成功。
6、默认是postgres用户,本机操作是,不需要用户和密码,现在我们来试试操作远程linux服务器上的postgresql,也就是说执行本地的脚本文件,在远程服务器上创建表。如下面图中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,输入对应用户的密码。
7、登陆到这个远程服务器上,命令是:psql -U test -h 192.168.194
执行查看命令:\d,\d test
最后查询数据库:select * from test;结果和上面都一致。