linux 实现shell(linux打开软件命令)

大家好,关于linux 实现shell很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于linux打开软件命令的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

学Linux shell编程需要其他语言基础吗要不要数学

shell属于linux操作系统的一部分。

如果吹毛求疵地说,它应该不算是一门语言。

但是,因为它确实可以完成一些语言可以完成的工作,所以人们将写shell脚本说成“shell编程”

其实,单论shell,它不过是对linux系统的一些核心操作而已,如果你想要实现更加具体化的东西,就需要一些其它语言的辅助了,比如shell可以轻易地和其它语言进行交互,比如c/c++/python/php等等。

至于学习shell,对数学的要求很低,主要还是看你要让shell实现什么功能,如果你的工作需要大量数学计算,那就需要的,如果你的工作只不过是一些逻辑,那根本不需要数学相关的东西,只不过你需要知道shell程序如何写。

就说这些吧,以上。

Linux中的sh命令的详细解释

linxu下的sh命令相当于是shell命令语言的解释器。下面由我为大家整理了linux的sh命令的详细解释的相关知识,希望对大家有帮助!

一、Linux中的sh命令的详细解释

sh命令是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通!Bourne Again Shell(即bash)是自由软件基金会(GNU)开发的一个Shell,它是Linux系统中一个默认的Shell。Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。

语法

bash [options] [file]

选项

-c string:命令从-c后的字符串读取。

-i:实现脚本交互。

-n:进行shell脚本的语法检查。

-x:实现shell脚本逐条语句的跟踪。

二、Linux中的sh命令的具体例子

使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态:

[root@AY1307311912260196fcZ satools]# sh-x check_ssh_login.sh

+ DEFINE=30

+ cat/var/log/secure

+ awk'/Failed/{++ip[$(NF-3)]} END{for(i in ip) print i"="ip[i]}'

++ cat/root/satools/black.txt

+ for i in'`cat/root/satools/black.txt`'

++ echo 121.42.0.16=1427

++ awk-F='{print$1}'+ IP=121.42.0.16

++ echo 121.42.0.16=1427

++ awk-F='{print$2}'

+ NUM=1427

+'[' 1427-gt 30']'

+ grep 121.42.0.16/etc/hosts.deny

+'[' 1-gt 0']'

+ echo sshd:121.42.0.16

+ echo vsftpd:121.42.0.16

+ for i in'`cat/root/satools/black.txt`'

++ echo 121.42.0.72=276

++ awk-F='{print$1}'

+ IP=121.42.0.72

++ awk-F='{print$2}'

++ echo 121.42.0.72=276

+ NUM=276+'[' 276-gt 30']'

+ grep 121.42.0.72/etc/hosts.deny

+'[' 1-gt 0']'

+ echo sshd:121.42.0.72

+ echo vsftpd:121.42.0.72

三、Linux中对.sh文件的操作命令

1、创建test.sh文件

touch test.sh

2、编辑sh文件

vi test.sh

3、保存退出

敲击esc,然后输入:wq,回车退出

4、添加可执行权限,当然默认就是可执行的。

chmod+x test.sh

5、运行文件

(1)./test.sh

(2)sh test.sh

6、删除文件

rm test.sh

如何远程通过Xshell实现对linux主机的开、关机及重启

你指的是使用其它机器对某太机器实现远程关机等操作吗?开机我是不知道远程怎么做!

你可以这样做:

ssh 192.168.1.100

输入密码

reboot/ halt/

那么可以编写一个shell。可是你必须做密码等价性才可以ssh不用密码。

ssh等价:

ssh-keygen-t dsa

所有回车。

会在/root/.ssh下生成两个文件,也就是公钥和私钥,你必须把公钥复制到对方机器去。公钥是有.pub结尾的。scp******.pub 192.168.1.100:/root/.ssh/1.txt。

ssh 192.168.1.100

cat/root/.ssh/1.txt>> authorized_keys

ok搞定密码等价。现在编写脚本。

把ip添加道/root/tmp/ip.txt------------随意放在哪里。没有固定

本机下脚本:

vim powf

#!/bin/sh

I=$( cat/root/tmp/ip.txt)

ssh"$I"<<EOF

read-p"please input option(r/h)" v_o

guanji$v_o

EOF

它机下脚本:

cd/usr/local/sbin

vim guanji

case$1 in

r) reboot;;

h) halt;;

*)

echo'o no'

exit

esac

因为是放在通路上所以可以不写绝对路径。你试试这个脚本,为临时写的,没有测试过。呵呵

阅读剩余
THE END