shell是一个命令解释器。是计算机用户和计算机操作系统内核之间的翻译。计算机用户在操作计算机是输入的指令都是以人类语言来表示的。而计算机在内部进行信息处理是使用的都是二进制。所以shell会将用户的输入转换成计算机能够识别的信息。计算机处理完成后再有shell转换成人能够识别的信息输出。
‘贰’ Linux里面env bash命令作用是什么
env最常用的功能是查询环境变量,直接输入env即可,例如:
bash是Linux下的命令解释器,目前CentOS,ubuntu,rhce默认都使用bash作为解释器。
‘叁’ windows系统的命令解释器是cmd.exe那linux的命令解释器是什么
linux的命令解释器叫shell,但linux又有多种不同的shell,常见的有Bourne shell(简称sh),C shell(简称csh),Korn shell(简称ksh)和Bourne Again shell(简称bash)。
ubuntu默认的shell是bash。
而且还有几种不同的终端,但命令和脚本还是由shell来解释和执行的。终端与shell没有对应关系
‘肆’ linux shell:这里的%% * 是什么意思
${LINE%% *}的意思就是从LINE这个变量的值中,从后面开始以最长匹配删去%%后面的表达式内容。
从用户的shell看,wc -l的结果是行数+空格+文件名,用户的匹配项是'空格*',那么从后面开始的最长匹配就是行数后面的所有内容,也就是说,这个表达式最终的结果是产生命令行参数所带文件的行数。
看一下man bash可以找到详细说明,查找Parameter Expansion这段会看到:
${parameter%word}
${parameter%%word}
都是从parameter的最后开始删除word所匹配的内容,%是最短匹配,%%是最长匹配。
(4)linux命令解释器扩展阅读:
实际上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 命令中的sh是什么意思
1、sh是linux中运行shell的命令,是shell的解释器,shell脚本是linux中壳层与命令行界面,用户可以在shell脚本输入命令来执行各种各样的任务。
要运行shell脚本,首选需要给shell脚本权限,这里里以hello.sh文件为例,首先需要按下“crtl+shift+T”打开终端窗口:
‘陆’ 在Linux环境下模拟实现简单命令解释器
用别名来实现就行了,格式:ailas 你喜欢的别名="Linux 命令+参数"
如实现dir:alias dir="ls -la"
实现:alias ="cp"
实现del: alias del="rm -rf"
等等。
‘柒’ linux操作系统中的命令解释器有什么特点
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<time.h>//显示当前时间函数用到的头文件
#include<sys/stat.h>//创建目录函数用到的头文件,fn函数中参数
#include<sys/types.h>//创建目录函数用到的头文件
#include<unistd.h>//cd使用系统调用chdir函数,用到的头文件
#include<dirent.h>//dir函数用到的头文件
#include<ftw.h>//find中ftw系统函数用到的头文件
usingnamespacestd;
voidDisplay();//主页面显示
DIR*exist_directory();//判断目录是否存在
intmain()
{
string_exit;//while循环出口判断字符
Display();
while(_exit!="exit")
{
cout<<"