当前位置:首页 » 编程软件 » linux脚本

linux脚本

发布时间: 2022-01-09 05:15:20

linux shell 指令 诸如-d, -f, -e之类的判断表达式

文件比较运算符-e filename

  • 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename

  • 如果 filename为目录,则为真 [ -d /tmp/mydir ]-f filename

  • 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]-L filename

  • 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]-r filename

  • 如果 filename可读,则为真 [ -r /var/log/syslog ]-w filename

  • 如果 filename可写,则为真 [ -w /var/mytmp.txt ]-x filename

  • 如果 filename可执行,则为真 [ -L /usr/bin/grep ]filename1-nt filename2

  • 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]filename1-ot filename2

  • 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386

/boot/bzImage ]字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)

  • -z string 如果 string长度为零,则为真 [ -z "$myvar" ]-n string 如果 string长度非零,则为真 [ -n "$myvar" ]

  • string1= string2 如果 string1与 string2相同,则为真 [ "$myvar" = "one two three"]

  • string1!= string2 如果 string1与 string2不同,则为真 [ "$myvar" != "one two three" ]

算术比较运算符num1-eq num2 等于 [ 3 -eq $mynum ]

  • num1-ne num2 不等于 [ 3 -ne $mynum ]num1-lt num2 小于 [ 3 -lt $mynum ]

  • num1-le num2 小于或等于 [ 3 -le $mynum ]num1-gt num2 大于 [ 3 -gt $mynum ]

  • num1-ge num2 大于或等于 [ 3 -ge $mynum ]

拓展资料:

Linux操作系统

是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。

Ⅱ linuxshell脚本程序

1 #!/bin/bash
2 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
3 export PATH
4 echo -e "------please input--------- "
5 read -p "please input a file or path " filename
6 test ! -e $filename && echo "not file or path" && exit 0
7 test -d $filename && ls $filename && exit 0
8 test -f $filename && cat $filename | more && exit 0
9 test -x $filename && ./$filename && exit 0
10 exit 0
亲自用vim给你写的,简单测试了一下。

Ⅲ Linux 脚本 sh 和 ./ 的区别

区别只有一点:

sh表示脚本默认使用sh脚本解释器。

未指定脚本解释器默认为 ./。

具体解释:

使用“./”执行脚本,对应的xxx.sh脚本必须要有执行权限。

使用“sh” 执行脚本,对应的xxx.sh没有执行权限,亦可执行。

当脚本开头使用#!设置使用的shell类型时,使用“./”执行脚本时,则使用“#!”标志的shell执行脚本;若无使用“#!”标记,则使用系统设置的默认shell执行脚本。

(3)linux脚本扩展阅读:

举例:

登录用户root查看权限:

-rwx—— 1 root root

执行这个shell脚本 :

./test 成功。

sh test 成功。

去掉执行权限x:

-rw——- 1 root root 17 2011-09-22 23:33 test

执行这个shell脚本。

./test 失败 (-bash: ./test: Permission denied)。

sh test 成功。

Ⅳ 怎么在linux下创建一个可运行脚本

步骤:

1.新建一个.sh文件,touch test.sh

(4)linux脚本扩展阅读:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

脚本(Script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。

Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。

shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。

shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。

Ⅳ linux 中如何执行脚本

ash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。
方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:

cd /data/shell
./hello.sh

./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。
方法二:以绝对路径的方式去执行bash shell脚本:

/data/shell/hello.sh

方法三:直接使用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路径自然也好理解了啊,呵呵……。
方法四:在当前的shell环境中执行bash shell脚本:

cd /data/shell
. hello.sh



cd /data/shell
source hello.sh

前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。

Ⅵ 怎么编写一个linux脚本文件

Shell终端解释器形容是人与计算机硬件的“翻译官”,它作为用户与Linux系统内部通讯的媒介,除了允许了各种变量与参数外还提供了诸如循环、分支等高级语言才有的控制结构特性,如何正确的使用这些功能,准确下达命令就显得尤为重要。Shell中脚本命令的工作方式有两种,首先是咱们前面所接触的交互方式(Interactive),即当用户每输入一条命令就执行一次,而批处理(Batch)则是由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令。因此在Shell脚本中不仅需要用到很多前面学习过的Linux命令以及正则表达式、管道符、数据流重定向等语法规则,还需要将内部功能模块化后通过逻辑语句进行加工,最终才能成为咱们日常所见的Shell脚本程序。先来查看下系统中所有可用的Shell解释器:
[root@linuxprobe ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

另外查看到bash已经是咱们目前的终端解释器了:
[root@linuxprobe ~]# echo $SHELL
/bin/bash

估计读者看完上面对Shell脚本如此复杂的描述都有一种心累想放弃的感觉了吧,但这仅指的是一个高深Shell脚本的编写原则,其实当咱们使用vim编辑器将linux命令按照顺序依次写入文件就是编写完成一个最简单的脚本啦。例如咱们想查看当前所在工作路径并列出当前目录下所有文件及属性信息,编写一个脚本来完成的话是这样:
[root@linuxprobe ~]# vim example.sh
#!/bin/bash
#For Example BY linuxprobe.com
pwd
ls -al

Shell脚本文件的名称是可以任意起,但为了避免其他同事误以为是普通文件,咱们应该符合运维行业人员大众的规范将.sh后缀写上,这样让其他人一看就知道是个脚本文件,与人方便自己方便。在这个脚本中实际上出现了三种不同的元素,第一行脚本声明(#!)是用来告知系统用何种shell解释器来执行本脚本程序,第二行注释信息(#)是对程序功能和某些命令的介绍信息,使得自己或他人再次看到这个脚本内容时可以快速知道这些功能的作用或一些警告信息,第三、四行可执行语句也就是咱们平时执行的Linux命令啦~什么?你不相信这么简单就编写出来了一个脚本程序,那咱们来执行看一看吧:
[root@linuxprobe ~]# bash example.sh
/root/Desktop
total 8
drwxr-xr-x. 2 root root 23 Jul 23 17:31 .
dr-xr-x---. 14 root root 4096 Jul 23 17:31 ..
-rwxr--r--. 1 root root 55 Jul 23 17:31 example.sh

第二种运行脚本程序的方法是以输入完整路径的方式来执行,但默认会因为权限不足而提示报错信息,这种情况只需要为脚本文件增加执行权限即可(在第五章会详细讲到):
[root@linuxprobe ~]# ./example.sh
bash: ./Example.sh: Permission denied
[root@linuxprobe ~]# chmod u+x example.sh
[root@linuxprobe ~]# ./example.sh
/root/Desktop
total 8
drwxr-xr-x. 2 root root 23 Jul 23 17:31 .
dr-xr-x---. 14 root root 4096 Jul 23 17:31 ..
-rwxr--r--. 1 root root 55 Jul 23 17:31 example.sh

这只是最简单的,你可以看下http://www.linuxprobe.com/chapter-04.html#42_Shell学习下shell脚本!

Ⅶ linux脚本里的#! 是什么意思

家目录/用户目录。比如:我的用户名是user,那一般我的家目录就是/home/user/,里面是我的文件和设置。#就是指的这个目录,你可以试试,在终端或者终端模拟器里面输入cd #,就可以直接到达你的用户目录。

Ⅷ Linux shell 脚本中, $@ 和$# 分别是什么意思

直接看示例:
[root@localhost xly]# cat t.sh
#!/bin/bash
echo $#
echo $@
[root@localhost xly]# sh t.sh
0
[root@localhost xly]# sh t.sh a b c
3
a b c
说明:
$@表示所有参数
$#表示所有参数的个数

热点内容
安卓电视上如何下载电视家 发布:2024-09-21 08:29:57 浏览:293
php字符串引号 发布:2024-09-21 08:17:03 浏览:783
androidduration 发布:2024-09-21 08:17:03 浏览:402
大话西游2华山论剑什么时候开的服务器 发布:2024-09-21 08:00:15 浏览:530
编程马鞍数 发布:2024-09-21 07:48:32 浏览:726
新建文件夹dos命令 发布:2024-09-21 07:44:13 浏览:131
舞蹈解压介绍 发布:2024-09-21 07:40:04 浏览:973
qq如何显示密码 发布:2024-09-21 07:22:26 浏览:566
安卓导航如何调大mlc音量 发布:2024-09-21 06:59:21 浏览:34
洛奇解压中发生错误 发布:2024-09-21 06:53:30 浏览:293