‘壹’ 如何建立和执行shell脚本文件--基于linux
方法很多:
方法一:切换到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
bashhello.sh
方法四:在当前的shell环境中执行bash shell脚本。
cd/data/shell
.hello.sh
‘贰’ 怎么编写一个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脚本!
‘叁’ 如何建立和执行shell脚本文件--基于linux
方法很多:
方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本。
cd/data/shell
./hello.sh
/data/shell/hello.sh
cd/data/shell
bashhello.sh
cd/data/shell
.hello.sh
‘肆’ linux rhel 脚本文件以什么开头
linux系统中的脚本文件一般以
#!/bin/sh
指明要执行shell文件的shell名称。
Linux脚本学习可以网络搜索《Linux就该这么学》进行学习了解哦
‘伍’ xshell 怎样编辑linux文件
从桌面点击xshell的小图标,打开xshell
‘陆’ linux脚本文件$#问题
没有问题啊,下面是测试脚本:
if[$#-lt3]
then
echo"needmorethan3"
exit
fi
echo"dowork"
‘柒’ linux中怎样让shell脚本等待其他脚本文件执行完
在shell里写一个条件判断语句,去查询上一条命令执行的结果,如果执行成功则执行下面的语句。
如是上面的命令是一个简单的命令,就用sleep来控制。这都是常用方法
‘捌’ 怎么通过你shell脚本删除文件的某一行以及后面几行
1、启动Linux系统,用ssh工具(xshell或者SecureCRT等)连上Linux系统。
‘玖’ java如何执行Linux脚本文件
/** * 运行shell脚本 * @param shell 需要运行的shell脚本 */ public static void execShell(String shell){ try { Runtime rt = Runtime.getRuntime(); rt.exec(shell); } catch (Exception e) { e.printStackTrace(); } }
‘拾’ 这个linux脚本文件什么意思
i=1 #循环变量,此处仅为保证能够一直循环
for i do #for循环开始
userdel $1 #删除用户(第一个参数指定)
rm -rf /home/$1 #删除用户主目录所有文件目录
shift #参数变量左移,即$2赋给$1,$3赋给$2,等等
if [ ! "$1" ] then #判断是否变量存在有值
break #如果不存在则退出循环
fi #IF模块结束
done #FOR循环结束
前两个问题请参照楼上