linux sh %,linux安装sh文件命令
linux shell:这里的%% * 是什么意思
${LINE%%*}的意思就是从LINE这个变量的值中,从后面开始以最长匹配删去%%后面的表达式内容。
从用户的shell看,wc-l的结果是行数+空格+文件名,用户的匹配项是'空格*',那么从后面开始的最长匹配就是行数后面的所有内容,也就是说,这个表达式最终的结果是产生命令行参数所带文件的行数。
看一下man bash可以找到详细说明,查找Parameter Expansion这段会看到:
${parameter%word}
${parameter%%word}
都是从parameter的最后开始删除word所匹配的内容,%是最短匹配,%%是最长匹配。
扩展资料:
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
shell中的变量
1、常用系统变量
$#:保存程序命令行参数的数目
$?:保存前一个命令的返回码
$ 0:保存程序名
$*:以("$1$2...")的形式保存所有输入的命令行参数
$@:以("$1""$2"...)的形式保存所有输入的命令行参数
2、定义变量
shell语言是非类型的解释型语言,不象用C++/JAVA语言编程时需要事先声明变量.给一个变量赋值,实际上就是定义了变量.
在linux支持的所有shell中,都可以用赋值符号(=)为变量赋值.
如:
abc=9(bash/pdksh不能在等号两侧留下空格)
set abc= 9(tcsh/csh)
由于shell程序的变量是无类型的,所以用户可以使用同一个变量时而存放字符时而存放整数.
如:
name=abc(bash/pdksh)
set name= abc(tcsh)
在变量赋值之后,只需在变量前面加一个$去引用.如:
echo$name
参考资料来源:百度百科-Linux Shell
linux中. sh文件是什么
linux中.sh文件是脚本文件,一般都是bash脚本。
脚本文件英文为Script。实际上脚本就是程序,一般都是由应用程序提供的编程语言。应用程序包括浏览器(javaScript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类。
脚本文件类似于DOS操作系统中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。脚本文件是文本文件,用户可使用文本编辑器来创建脚本文件。
扩展资料
脚本通常可以由应用程序临时调用并执行。各类脚本被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。
举个最常见的例子,当点击网页上的Email地址时能自动调用Outlook Express或Foxmail这类邮箱软件,就是通过脚本功能来实现的。
也正因为脚本的这些特点,往往被一些别有用心的人所利用。
例如在脚本中加入一些破坏计算机系统的命令,这样当用户浏览网页时,一旦调用这类脚本,便会使用户的系统受到攻击。所以用户应根据对所访问网页的信任程度选择安全等级,特别是对于那些本身内容就非法的网页,更不要轻易允许使用脚本。
Linux 脚本 sh 和 ./ 的区别
区别只有一点:
sh表示脚本默认使用sh脚本解释器。
未指定脚本解释器默认为./。
具体解释:
使用“./”执行脚本,对应的xxx.sh脚本必须要有执行权限。
使用“sh”执行脚本,对应的xxx.sh没有执行权限,亦可执行。
当脚本开头使用#!设置使用的shell类型时,使用“./”执行脚本时,则使用“#!”标志的shell执行脚本;若无使用“#!”标记,则使用系统设置的默认shell执行脚本。
扩展资料:
举例:
登录用户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成功。