linuxshell

linux下的 shell到底是什么啊在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器 。一般来说,shell是指操作系统中,提供访问内核所提供之服务的程序 。一、shell的分类:1、图形界面shell(Graphical User Interface shell 即 GUI shell)例如:应用最为广泛的 Windows Explorer (微软的windows系列制作系统) , 还有也包括广为人知的 Linux shell , 其中linux shell 包括 X window manger (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE 。2、命令行式shell(Command Line Interface shell,即CLI shell)例如:bash / sh / ksh / csh(Unix/linux 系统)(MS-DOS系统);cmd.exe/ 命令提示字符(Windows NT 系统);Windows PowerShell(支援 .NET Framework 技术的 Windows NT 系统) 。二、shell的命令描述:1、使用用户的缺省凭证和环境执行 shell 。2、在UEFI环境下,EFI的shell环境提供了一组丰富的扩展和增强的命令 , 在以后的计算机中,传统的DOS界面将会被shell环境所取代 , 所有的.exe文件将不会在以后支持shell的环境中出现,取而代之的文件后缀是.efi 。
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
说明:
$@表示所有参数
$#表示所有参数的个数

linux中的shell是什么意思?ll程序呢? 简单的说shell程序就是一个包含若干行
shell或者linux命令的文件.
象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.
在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整
的程序文件.
执行shell程序文件有三种方法
(1)#chmod +x file(在/etc/profile中,加入export PATH=$:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样)
(2)#sh file
(3)# . file
(4)#source file
在编写shell时,第一行一定要指明系统需要那种shell解释你的shell程序,如:#! /bin/bash,
#! /bin/csh,/bin/tcsh,还是#! /bin/pdksh .
2.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 $abc
(3)位置变量
当运行一个支持多个命令行参数的shell程序时,这些变量的值将分别存放在位置变量里.
其中第一个参数存放在位置变量1,第二个参数存放在位置变量2,依次类推...,shell保留
这些变量,不允许用户以令外的方式定义他们.同别的变量,用$符号引用他们.

3.shell中引号的使用方法
shell使用引号(单引号/双引号)和反斜线("\")用于向shell解释器屏蔽一些特殊字符.
反引号(")对shell则有特殊意义.
如:
abc="how are you"(bash/pdksh)
set abc = "how are you"(tcsh)
这个命令行把三个单词组成的字符串how are you作为一个整体赋值给变量abc.
abc1='@LOGNAME,how are you!' (bash/pdksh)
set abc1='$LOGNAME,how are you!' (tcsh)
abc2="$LOGNAME,how are you!" (bash/pdksh)
set abc2="$LOGNAME,how are you!" (tcsh)
LOGNAME变量是保存当前用户名的shell变量,假设他的当前值是:wang.执行完两条命令后,
abc1的内容是:$LOGNAME, how are you!.而abc2的内容是;wang, how are you!.
象单引号一样,反斜线也能屏蔽所有特殊字符.但是他一次只能屏蔽一个字符.而不能屏蔽
一组字符.
反引号的功能不同于以上的三种符号.他不具有屏蔽特殊字符的功能.但是可以通过他将
一个命令的运行结果传递给另外一个命令.
如:
contents=`ls` (bash/pdksh)
set contents = `ls` (tcsh)
4.shell程序中的test命令
在bash/pdksh中,命令test用于计算一个条件表达式的值.他们经常在条件语句和循环
语句中被用来判断某些条件是否满足.
test命令的语法格式:
test expression
或者
[expression]

在test命令中,可以使用很多shell的内部操作符.这些操作符介绍如下:
(1)字符串操作符用于计算字符串表达式
test命令|含义
-----------------------------------------
Str1 = str2 | 当str1与str2相同时,返回True
Str1! = str2| 当str1与str2不同时,返回True
Str| 当str不是空字符时,返回True
-n str| 当str的长度大于0时,返回True
-z str| 当str的长度是0时,返回True
-----------------------------------------
(2)整数操作符具有和字符操作符类似的功能.只是他们的操作是针对整数
test表达式|含义
---------------------------------------------
Int1 -eq int2|当int1等于int2时,返回True
Int1 -ge int2|当int1大于/等于int2时,返回True
Int1 -le int2|当int1小于/等于int2时,返回True
Int1 -gt int2|当int1大于int2时,返回True
Int1 -ne int2|当int1不等于int2时,返回True
-----------------------------------------
(3)用于文件操作的操作符,他们能检查:文件是否存在,文件类型等
test表达式|含义
------------------------------------------------
-d file|当file是一个目录时,返回 True
-f file|当file是一个普通文件时,返回 True
-r file|当file是一个刻读文件时,返回 True
-s file|当file文件长度大于0时,返回 True
-w file|当file是一个可写文件时,返回 True
-x file|当file是一个可执行文件时,返回 True
------------------------------------------------
(4)shell的逻辑操作符用于修饰/连接包含整数,字符串,文件操作符的表达式
test表达式|含义
----------------------------------------------------------
! expr|当expr的值是False时,返回True
Expr1 -a expr2|当expr1,expr2值同为True时,返回True
Expr1 -o expr2|当expr1,expr2的值至少有一个为True时,返回True
-----------------------------------------------------------
注意:
tcsh shell 不使用test命令,但是tcsh中的表达式同样能承担相同的功能.tcsh
支持的表达式于C中的表达式相同.通常使用在if和while命令中.
tcsh表达式|含义
-------------------------------------------------------
Int1 <= int2|当int1小于/等于int2时,返回True
Int1 >= int2|当int1大于/等于int2时,返回True
Int1 < int2|当int1小于int2时,返回True
Int1 > int2|当int1大于int2时,返回True
Str1 == str2|当str1与str2相同时,返回True
Str1 != str2|当str1与str2不同时,返回True
-r file|当file是一个可读文件时,返回True
-w file|当file是一个可写文件时,返回True
-x file|当file是一个可执行文件时,返回True
-e file|当file存在时,返回True
-o file|当file文件的所有者是当前用户时,返回True
-z file|当file长度为0时,返回True
-f file|当file是一个普通文件时,返回True
-d file|当file是一个目录时,返回True
Exp1 || exp2|当exp1和exp2的值至少一个为True时,返回True
Exp1 && exp2|当exp1和exp2的值同为True时,返回True
! exp|当exp的值为False时,返回True

在linux下 什么是bash.什么又是shell

linuxshell

文章插图

bash 是一个为GNU项目编写的Unix shell,也就是linux用的shell 。Shell俗称壳(用来区别于内核),是指“提供使用者使用界面”的软件,就是一个命令行解释器 。BASH是SHELL的一种,是大多数LINUX发行版默认的SHELL , 除BASH SHELL外还有C SHELL等其它类型的SHELL 。扩展资料:linux主要特性:1 , 基本思想:Linux的基本思想有两点:第一 , 一切都是文件;第二,每个软件都有确定的用途 。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件 。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近 。2,完全免费:Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码 。这是其他的操作系统所做不到的 。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大 。3,完全兼容POSIX1.0标准:这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序 。这为用户从Windows转到Linux奠定了基础 。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑 。4 , 多用户、多任务:Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响 。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行 。5,良好的界面:Linux同时具有字符界面和图形界面 。在字符界面用户可以通过键盘输入相应的指令来进行操作 。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作 。在X-Window环境中就和在Windows中相似 , 可以说是一个Linux版的Windows 。参考资料:百度百科-linux
linux中的shell究竟是什么?linux中的shell究竟是;ll程序呢? 简单的说shell程序就是一个包含若干行shell或者linux命令的文件.象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整的程序文件.tcsh shell 不使用test命令,但是tcsh中的表达式同样能承担相同的功能.tcsh支持的表达式于C中的表达式相同.通常使用在if和while命令中.tcsh表达式 | 含义
linux下的shell是什么?在计算机科学中 , 是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器 。一般来说,shell是指操作系统中,提供访问内核所提供之服务的程序 。一、shell的分类:1、图形界面shell(Graphical User Interface shell 即 GUI shell)例如:应用最为广泛的 Windows Explorer (微软的windows系列制作系统) , 还有也包括广为人知的 Linux shell,其中linux shell 包括 X window manger (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE 。2、命令行式shell(Command Line Interface shell  , 即CLI shell)例如:bash / sh / ksh / csh(Unix/linux 系统)(MS-DOS系统);cmd.exe/ 命令提示字符(Windows NT 系统);Windows PowerShell(支援 .NET Framework 技术的 Windows NT 系统) 。二、shell的命令描述:1、使用用户的缺省凭证和环境执行 shell 。2、在UEFI环境下,EFI的shell环境提供了一组丰富的扩展和增强的命令 , 在以后的计算机中,传统的DOS界面将会被shell环境所取代 , 所有的.exe文件将不会在以后支持shell的环境中出现 , 取而代之的文件后缀是.efi 。
请教shell脚本中的&是什么意思& 后台工作
单一个& 符号,且放在完整指令列的最后端,即表示将该指令列放入后台中工作 。
tar cvfz data.tar.gz data > /dev/null &

linux的shell编程处处定向里的 &> 和 2> 是什么意思?&是后台的意思>是重定向2是标准错误&>代表后台重定向2>代表标准错误重定向

linux shell 中的“$1”代表什么?美元符加字符串是引用变量值,而美元符加数字表示命令行参数 。比如:bash$ ./hello.sh build test脚本中$0的值就是 。/hello.sh , $1的值是build,$2的值是test 。bash$ list.sh -sh --debug /home/user 。脚本中$0的值就是list.sh,$1的值是-sh,$2的值是--debug,$3的值是/home/user 。$0 这个程式的执行名字 。$n 这个程式的第n个参数值,n=1..9 。$* 这个程式的所有参数,此选项参数可超过9个 。$# 这个程式的参数个数 。$$ 这个程式的PID(脚本运行的当前进程ID号) 。$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号) 。$? 执行上一个指令的返回值 (显示最后命令的退出状态 。0表示没有错误,其他任何值表明有错误) 。$- 显示shell使用的当前选项 , 与set命令功能相同 。$@ 跟$*类似,但是可以当作数组用 。
linux的shell编程中#!/bin/sh和$bash是什么意思?#! /bin/sh 是指此脚本使用 , /bin/sh来解释执行 , #!是特殊的表示符,其后面根的是此解释此脚本的shell的路径 。补充:编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码 , 并最终得到相应结果的过程 。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务 。这种人和计算机之间交流的过程就是编程 。编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系 , 都可以算编程】
linux中 !#是什么意思ll程序呢? 简单的说shell程序就是一个包含若干行
shell或者linux命令的文件.
象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.
在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整
的程序文件.
执行shell程序文件有三种方法
(1)#chmod +x file(在/etc/profile中,加入export PATH=$:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样)
(2)#sh file
(3)# . file
(4)#source file
在编写shell时,第一行一定要指明系统需要那种shell解释你的shell程序,如:#! /bin/bash,
#! /bin/csh,/bin/tcsh,还是#! /bin/pdksh .
2.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 $abc
(3)位置变量
当运行一个支持多个命令行参数的shell程序时,这些变量的值将分别存放在位置变量里.
其中第一个参数存放在位置变量1,第二个参数存放在位置变量2,依次类推...,shell保留
这些变量,不允许用户以令外的方式定义他们.同别的变量,用$符号引用他们.

3.shell中引号的使用方法
shell使用引号(单引号/双引号)和反斜线("\")用于向shell解释器屏蔽一些特殊字符.
反引号(")对shell则有特殊意义.
如:
abc="how are you" (bash/pdksh)
set abc = "how are you" (tcsh)
这个命令行把三个单词组成的字符串how are you作为一个整体赋值给变量abc.
abc1='@LOGNAME,how are you!' (bash/pdksh)
set abc1='$LOGNAME,how are you!' (tcsh)
abc2="$LOGNAME,how are you!" (bash/pdksh)
set abc2="$LOGNAME,how are you!" (tcsh)
LOGNAME变量是保存当前用户名的shell变量,假设他的当前值是:wang.执行完两条命令后,
abc1的内容是:$LOGNAME, how are you!.而abc2的内容是;wang, how are you!.
象单引号一样,反斜线也能屏蔽所有特殊字符.但是他一次只能屏蔽一个字符.而不能屏蔽
一组字符.
反引号的功能不同于以上的三种符号.他不具有屏蔽特殊字符的功能.但是可以通过他将
一个命令的运行结果传递给另外一个命令.
如:
contents=`ls` (bash/pdksh)
set contents = `ls` (tcsh)
4.shell程序中的test命令
在bash/pdksh中,命令test用于计算一个条件表达式的值.他们经常在条件语句和循环
语句中被用来判断某些条件是否满足.
test命令的语法格式:
test expression
或者
[expression]

在test命令中,可以使用很多shell的内部操作符.这些操作符介绍如下:
(1)字符串操作符 用于计算字符串表达式
test命令 | 含义
-----------------------------------------
Str1 = str2 | 当str1与str2相同时,返回True
Str1! = str2| 当str1与str2不同时,返回True
Str | 当str不是空字符时,返回True
-n str | 当str的长度大于0时,返回True
-z str | 当str的长度是0时,返回True
-----------------------------------------
(2)整数操作符具有和字符操作符类似的功能.只是他们的操作是针对整数
test表达式 | 含义
---------------------------------------------
Int1 -eq int2|当int1等于int2时,返回True
Int1 -ge int2|当int1大于/等于int2时,返回True
Int1 -le int2|当int1小于/等于int2时,返回True
Int1 -gt int2|当int1大于int2时,返回True
Int1 -ne int2|当int1不等于int2时,返回True
-----------------------------------------
(3)用于文件操作的操作符,他们能检查:文件是否存在,文件类型等
test表达式 | 含义
------------------------------------------------
-d file |当file是一个目录时,返回 True
-f file |当file是一个普通文件时,返回 True
-r file |当file是一个刻读文件时,返回 True
-s file |当file文件长度大于0时,返回 True
-w file |当file是一个可写文件时,返回 True
-x file |当file是一个可执行文件时,返回 True
------------------------------------------------
(4)shell的逻辑操作符用于修饰/连接包含整数,字符串,文件操作符的表达式
test表达式 | 含义
----------------------------------------------------------
! expr |当expr的值是False时,返回True
Expr1 -a expr2|当expr1,expr2值同为True时,返回True
Expr1 -o expr2|当expr1,expr2的值至少有一个为True时,返回True
-----------------------------------------------------------
注意:
tcsh shell 不使用test命令,但是tcsh中的表达式同样能承担相同的功能.tcsh
支持的表达式于C中的表达式相同.通常使用在if和while命令中.
tcsh表达式 | 含义
-------------------------------------------------------
Int1 <= int2 |当int1小于/等于int2时,返回True
Int1 >= int2 |当int1大于/等于int2时,返回True
Int1 < int2 |当int1小于int2时,返回True
Int1 > int2 |当int1大于int2时,返回True
Str1 == str2 |当str1与str2相同时,返回True
Str1 != str2 |当str1与str2不同时,返回True
-r file |当file是一个可读文件时,返回True
-w file |当file是一个可写文件时,返回True
-x file |当file是一个可执行文件时,返回True
-e file |当file存在时,返回True
-o file |当file文件的所有者是当前用户时,返回True
-z file |当file长度为0时,返回True
-f file |当file是一个普通文件时,返回True
-d file |当file是一个目录时,返回True
Exp1 || exp2 |当exp1和exp2的值至少一个为True时,返回True
Exp1 && exp2 |当exp1和exp2的值同为True时,返回True
! exp |当exp的值为False时,返回True
不写语法会错误的

在Linux中,shell是什么??补充下:
Shell是一种具备特殊功能的程序,它是介于使用者和
UNIX/Linux
操作系统之核心程序(kernel)间的一个接口 。为什么我们说
shell
是一种介于系统核心程序与使用者间的中介者呢?读过操作系统概论的读者们都知道操作系统是一个系统资源的管理者与分配者,当您有需求时,您得向系统提出;从操作系统的角度来看,它也必须防止使用者因为错误的操作而造成系统的伤害?众所周知,对计算机下命令得透过命令(command)或是程序(program);程序有编译器(compiler)将程序转为二进制代码,可是命令呢?其实shell
也是一支程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它 。
Shell
的功用
为了确保任何提示符号下输入的命令都能够适当地执行 。shell
担任的工作包括有:
1.
读取输入和语法分析命令列
2.
对特殊字符求值
3.
设立管线、转向、和幕后处理
4.
处理讯号
5.
设立程序来执行

vb中的recordset 究竟是什么?set并不是赋值,是实例化
可以把
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
两行代码,合并为一行
Dim rs Asnew ADODB.Recordset
而必须是
rs.open "Select * From 表名",......
这才是执行了OPEN方法 , 返回了记录集合(你也可以理解为就是数据表) 。

shell脚本 ${a%%.*} 什么意思?返回把 a 的值删掉匹配 .* 的后缀后的值 。
比如
a=my.txt
echo ${a%%.*}
或者
a=my.txt.1
echo ${a%%.*}

都会打印 my

在shell里面,“%”、“#”、“*” 是什么意思,如${a%#.}、${a%%.*}、${a##.*}${varible##*string} 从左向右截取最后一个string后的字符串
${varible#*string}从左向右截取第一个string后的字符串
${varible%%string*}从右向左截取最后一个string后的字符串
${varible%string*}从右向左截取第一个string后的字符串
“*”只是一个通配符有时可以不要
例子:
$ MYVAR=foodforthought.jpg
$ echo ${MYVAR##*fo}
rthought.jpg
$ echo ${MYVAR#*fo}
odforthought.jpg

linux shell:这里的%% * 是什么意思?${LINE%% *}的意思就是从LINE这个变量的值中,从后面开始以最长匹配删去%%后面的表达式内容 。
从你的shell看,wc -l的结果是行数+空格+文件名,你的匹配项是'空格*',那么从后面开始的最长匹配就是行数后面的所有内容,也就是说,这个表达式最终的结果是产生命令行参数所带文件的行数 。
看一下man bash可以找到详细说明,查找Parameter Expansion这段会看到:
${parameter%word}
${parameter%%word}
都是从parameter的最后开始删除word所匹配的内容 , %是最短匹配,%%是最长匹配 。关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》

linux shell:这里的%% * 是什么意思?介绍下Shell中的${}、##和%%使用范例,本文给出了不同情况下得到的结果 。
假设定义了一个变量为:
代码如下:
file=/dir1/dir2/dir3/my.file.txt
可以用${ }分别替换得到不同的值(可参考《Linux就该这么学》第2章的介绍)

linux shell:这里的%% * 是什么意思?${LINE%%
*}的意思就是从LINE这个变量的值中,从后面开始以最长匹配删去%%后面的表达式内容 。
从你的shell看,wc
-l的结果是行数+空格+文件名,你的匹配项是'空格*',那么从后面开始的最长匹配就是行数后面的所有内容,也就是说,这个表达式最终的结果是产生命令行参数所带文件的行数 。
看一下man
bash可以找到详细说明 , 查找Parameter
Expansion这段会看到:
${parameter%word}
${parameter%%word}
都是从parameter的最后开始删除word所匹配的内容 , %是最短匹配,%%是最长匹配 。

linux shell脚本中 $? 和 $@是什么意思???$@ :以("$1""$2"...)的形式保存所有输入的命令行参数;

$? :上一条命令的返回结果.

linux的shell编程中#!/bin/sh和$bash是什么意思#! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径 。$bash $表示系统提示符,$ 表示此用户为普通用户,超级用户的提示符是# 。bash是shell的一种,是linux下最常用的一种shell 。$bash的意思是执行一个子shell,此子shell为bash 。要注意,在每个脚本的开头都使用"#!",这意味着告诉你的系统这个文件的执行需要指定一个解 释器.#!实际上是一个2字节[1]的魔法数字,这是指定一个文件类型的特殊标记, 换句话说, 在 这种情况下,指的就是一个可执行的脚本(键入man magic来获得关于这个迷人话题的更多详细 信息).在#!之后接着是一个路径名.这个路径名指定了一个解释脚本中命令的程序,这个程序可 以是shell,程序语言或者是任意一个通用程序.这个指定的程序从头开始解释并且执行脚本中 的命令(从#!行下边的一行开始),忽略注释.[2] 如: 1 #!/bin/sh 2 #!/bin/bash 3 #!/usr/bin/perl 4 #!/usr/bin/tcl 5 #!/bin/sed -f 6 #!/usr/awk -f注意: #! 后边给出的路径名必须是正确的,否则将会出现一个错误消息,通常是 "Command not found",这将是你运行这个脚本时所得到的唯一结果.如果在脚本的里边还有一个#!行,那么bash将把它认为是一个一般的注释行.

知道linux 脚本中 ${#xxx[@]} 是什么意思吗?题主你好,xxx应该是一个数组, ${#xxx[@]}应该是输出xxx数组中元素的个数.我举了个例子,题主可以参考一下:希望可以帮到题主, 欢迎追问.
liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]是什么意思?
linuxshell

文章插图

liunx 下的shell语句 if [ ! -d /$1/$2/$3/ ]这是判断某文件夹是否存在,$1, $2, $3都是变量,操作方法如下:1、判断文件的基本格式 。[ 操作符 文件或目录 ] 。2、判断文件是否存在(Exist):-e 。3、判断是否为目录 (Directory):-d 。4、判断是否为文件 (File):-f 。5、判断当前用户是否有权限写入(Write):-w 。6、最后判断当前用户是否有权限执行(Excute):-x 。
linux shell if语句求解释这是一个磁盘监控的告警脚本2,3行定义变量可以不用的引号的,还用的有单有双的?前两个变量估计是为了以后调用而区分的 , read_num是作为数字来调用FSMAX是作为字符来调用 。5--17不知道什么意思,第22行也不知道什么意思,这个应该是5--18行才对,一条完整的awk语句 , 我对awk内建函数使用的还不是太熟 。按照我的理解,是为了整理diskcheck_tmp文件用的 。如果采用了vg的卷组会破坏原有df的输出格式 。第22行是跟最后一行成一个整体是一个完整的while循环之后里面的sed -n "$read_num"'p'什么作用 , 这句是读取 每个区空间使用大小 代入到变量size接下来拿size 和你的阀值对比 如果大于阀值那么在后台执行 记录这个区 然后发告警邮件 。29--31有是什么意思呢 read_num=$(expr $read_num + 1)这个解释下 , 感谢哪位大哥大姐给兄弟说下,讲的详细下 。这是一个while循环 从文件的第一行开始 判断 磁盘的阀值 每判断一行就跳到下一行直到所有的磁盘都判断完 。然后结束whiledo done这是一个整体

shell脚本中 if 判断时候-s是什么意思?指的是文件大小非0时为真 。shell中怎么判断输入的是否是数字:第一种:sed格式首先:我们先(在命令行直接输出模拟一下 , 如果都正确再在shell脚本中进行书写 。)直接echo输出一下echo "111asd"第一步:思想然后我们就要想一下我们要说用sed判断,但是sed的最主要的功能是什么?替换?。。〉比皇翘婊?,既然是替换那么我们能不能直接把echo输出的数字直接替换掉,然后看这个输出还剩下什么呢?如果我们剩下的空,那么我就基本可以确定我echo输出的就是空,如果我sed替换之后不是空,那么我是不是就是可以认为我echo输出的不是数字或不全是数字呢?第二步:命令行测试:[root@localhost shell]# echo "111asd" | sed 's#[0-9]##g' | cat -Aasd$[root@localhost shell]# echo "111" | sed 's#[0-9]##g' | cat -A$第三步:进行shell测试经过第二步我们很明显就能看出来这个想法是能够实现的 。所以在shell中配合-z(zero)-n(no zero)是完全可以实现的,所以这个时候我们就可以进行脚本的编写测试了 。#!/bin/bash############################################################### File Name: test.sh# Version: V1.0# Author: ls# Created Time : 2017-02-24 06:25:13# Description:###############################################################交互式外部读取read -p "pleace input: " a1#if进行数字判断if [ -z "$(echo $a1 | sed 's#[0-9]##g')" ]then#如果是数字输出yes给$?一个1的返回值并退出 。echo "yes"exit 1else#如果不是数字输出no给$?一个1的返回值并退出 。echo "no"[root@localhost shell]# sh test.shpleace input: 1yes[root@localhost shell]# sh test.shpleace input: q1no
shell脚本中 if 判断时候-s是什么意思指的是文件大小非0时为真 。shell中怎么判断输入的是否是数字:第一种:sed格式首先:我们先(在命令行直接输出模拟一下,如果都正确再在shell脚本中进行书写 。)直接echo输出一下echo "111asd"第一步:思想然后我们就要想一下我们要说用sed判断,但是sed的最主要的功能是什么?替换?。。〉比皇翘婊?nbsp;, 既然是替换那么我们能不能直接把echo输出的数字直接替换掉,然后看这个输出还剩下什么呢?如果我们剩下的空,那么我就基本可以确定我echo输出的就是空,如果我sed替换之后不是空,那么我是不是就是可以认为我echo输出的不是数字或不全是数字呢?第二步:命令行测试:[root@localhost shell]# echo "111asd" | sed 's#[0-9]##g' | cat -Aasd$[root@localhost shell]# echo "111" | sed 's#[0-9]##g' | cat -A$第三步:进行shell测试经过第二步我们很明显就能看出来这个想法是能够实现的 。所以在shell中配合-z(zero)-n(no zero)是完全可以实现的,所以这个时候我们就可以进行脚本的编写测试了 。#!/bin/bash############################################################### File Name: test.sh# Version: V1.0# Author: ls# Created Time : 2017-02-24 06:25:13# Description:###############################################################交互式外部读取read -p "pleace input: " a1#if进行数字判断if [ -z "$(echo $a1 | sed 's#[0-9]##g')" ]then#如果是数字输出yes给$?一个1的返回值并退出 。echo "yes"exit 1else#如果不是数字输出no给$?一个1的返回值并退出 。echo "no"[root@localhost shell]# sh test.shpleace input: 1yes[root@localhost shell]# sh test.shpleace input: q1no
linux shell的if语句echo "你继续吗?Y or N"
read ANSWER
if [ “$ANSWER” = “Y” -o “$ANSWER” = “y” ] ; then
echo "你选择了$ANSWER";
elif [ “$ANSWER” = “N” -o “$ANSWER” = “n” ] ; then
echo "你选择了$ANSWER";
else
echo "输入错误"
exit
fi
-----你试试

linux中~和/的区别~:一个代位符,表明的是个人目录的地址,因为每个用户都有自己的个人目录地址,所以用~作为统一替代这个根据用户不同而不同但有规可循的地址,来保证某些情况下的兼容问题 。
/ 是目录层的分隔、表示符 。只有一个 / 表明是 root,/etc/ 表明是根目录下面的 etc 目录(当然目录最后不需要 /,但有 / 直接表明他是目录,没有末尾的 /,那么 /etc 需要检测一下确定是目录还是文件,虽然习惯上 /etc 绝对是目录),可以参考下《Linux就该这么学》了解更多关于Linux的知识 。

linux shell中'""和`的区别shell中“”这个东西里面就是一个字符串里面可以有变量,‘’这个东西里面就是一个字符串 。看到了吗?有什么不一样,如果你想要学习更多的linux知识,你可以看看《linux就该这么学》这本书 。
linux中“>”和“>>”区别> 直接把内容生成到指定文件,会覆盖源文件中的内容,还有一种用途是直接生成一个空白文件,相当于touch命令
>>尾部追加,不会覆盖掉文件中原有的内容

linux下命令窗口中$和#的区别???没有实质的区别 。只不过系统为便于区别(很直观),会有个默认设置 , 如:#代表 root权限$代表普通用户 。当然,如果更改了/etc/profile , 或~/.bashrc等文档,可以用任何符号来代替它们 。

linux中的shell究竟是什么??这个,你要是对*nix系统不熟悉的话,还真不好解释 。

*nix的核心是一个执行效率非常高的,对计算机硬件操作进行了封装的一个.....怎么说,执行模块 。
*nix中所有对计算机硬件的操作都是通过这个核心的模块进行的 。
而Shell是利用这个核心提供的操作(或称接口),提供了一些较为人性化的使用方式 。
简单理解:*nix的内核就是提供计算机硬件操作的东东,用户不能直接使用它 。
Shell是用户能够直接使用的命令集,它是利用内核来进行操作的 。

linux中的shell是什么?有什么作用?Shell是人机交互用的一个程序 。
用户有shell了就可以登陆系统并且可以用命令和系统交互,肯定不安全 。
没有shell就无法用命令去和系统对话 , 自然安全多了 。
最“土”的办法就是用用户名和密码登陆一下,能进去就是有用户shell,进不去就是没有用户shell 。

linux中shell分多少种,都有什么区别
linuxshell

文章插图

【linuxshell】Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,常见的脚本解释器有:bash:是Linux标准默认的shell 。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写 , 内部命令一共有40个 。sh: 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell 。另外还有:ash、 csh、 ksh等 。扩展资料:常见的编程语言分为两类:一个是编译型语言,如:c/c++/java等,它们远行前全部一起要经过编译器的编译 。另一个解释型语言,执行时,需要使用解释器一行一行地转换为代码 , 如:awk, perl, python与shell等 。Shell 经过了POSIX的标准化,所以它是可以在不同的linux系统上进行移植 。关于注释的问题: 在shell中使用#进行注释,注意,sh里面没有多行注释,只能每一行加一个#号;