首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
var=value?export前后差在哪?-- Shell十三问<第五问>
】的更多相关文章
var=value?export前后差在哪?-- Shell十三问<第五问>
var=value?export前后差在哪?-- Shell十三问<第五问> 这次让我们暂时丢开 command line ,先来了解一下 bash 变量(variable)吧.所谓的 变量,就是就是利用一个特定的"名称"(name)来存取一段可以变化的"值"(value). 在 bash 中,你可以用 "=" 来设定或重新定义变量的内容: name=value 在设定变量的时侯,得遵守如下 规则: 等号左右两边不能使用区隔符号(IF…
$(( )) 与 $( ) 还有${ } 差在哪?-- Shell十三问<第八问>
$(( )) 与 \(( ) 还有\){ } 差在哪?-- Shell十三问<第八问> 我们上一章介绍了 ( ) 与 { } 的不同,这次让我们扩展一下,看看更多的变化:$( ) 与 \({ }又是啥玩意儿呢? 在 bash shell 中,\)( ) 与 (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行: 完成引号里的命令行,然后将其结果替换出来,再重组命令行. 例如: [code]$ ech…
exec 跟 source 差在哪?-- Shell十三问<第六问>
exec 跟 source 差在哪?-- Shell十三问<第六问> 这次先让我们从 CU Shell 版的一个实例贴子来谈起吧: 例中的提问是: cd /etc/aa/bb/cc 可以执行 但是把这条命令写入 shell 时 shell 不执行!这是什么原因呀! 我当时如何回答暂时别去深究,先让我们了解一下进程(process)的观念好了.首先,我们所执行的任何程序,都是由父进程(parent process)所产生出来的一个子进程(child process),子进程在结束后,将返回到父进…
> 与 < 差在哪?-- Shell十三问<第十一问>
> 与 < 差在哪?-- Shell十三问<第十一问> 谈到 I/O redirection ,不妨先让我们认识一下 File Descriptor (FD) .程序的运算,在大部份情况下都是进行数据(data)的处理,这些数据从哪读进?又,送出到哪里呢?这就是 file descriptor (FD) 的功用了. 在 shell 程序中,最常使用的 FD 大概有三个,分别为: 0: Standard Input (STDIN) 1: Standard Output (STDOUT…
&& 与 || 差在哪?-- Shell十三问<第十问>
&& 与 || 差在哪?-- Shell十三问<第十问> 好不容易,进入两位数的章节了... 一路走来,很辛苦吧?也很快乐吧? 在解答本章题目之前,先让我们了解一个概念:return value !我们在 shell 下跑的每一个 command 或 function ,在结束的时候都会传回父进程一个值,称为 return value . 在 shell command line 中可用 $? 这个变量得到最"新"的一个 return value ,也就是刚…
( ) 与 { } 差在哪?-- Shell十三问<第七问>
( ) 与 { } 差在哪?-- Shell十三问<第七问> 先说一下,为何要用 ( ) 或 { } 好了. 许多时候,我们在 shell 操作上,需要在一定条件下一次执行多个命令,也就是说,要么不执行,要么就全执行,而不是每次依序的判断是否要执行下一个命令.或是,需要从一些命令执行优先次顺中得到豁免,如算术的 2*(3+4) 那样...这时候,我们就可引入"命令群组"(command group)的概念:将多个命令集中处理. 在 shell command line 中,…
" "( 双引号) 与 ' '( 单引号) 差在哪?-- Shell十三问<第四问>
" "( 双引号) 与 ' '( 单引号) 差在哪?-- Shell十三问<第四问> 经过前面两章的学习,应该很清楚当你在 shell prompt 后面敲打键盘.直到按下Enter 的时候,你输入的文字就是 command line 了,然后 shell 才会以进程的方式执行你所交给它的命令.但是,你又可知道: 你在 command line 输入的每一个文字,对 shell来说,是有类别之分的呢? 简单而言(我不敢说这是精确的定义),command line 的每一个…
别人 echo 、你也 echo ,是问 echo 知多少?-- Shell十三问<第三问>
别人 echo .你也 echo ,是问 echo 知多少?-- Shell十三问<第三问> 承接上一章所介绍的 command line ,这里我们用 echo 这个命令加以进一步说明. 温习---标准的 command line 包含三个部件: command_name option argument echo 是一个非常简单.直接的 Linux 命令:将 argument 送出至标准输出(STDOUT),通常就是在监视器(monitor)上输出. 为了更好理解,不如先让我们先跑一下 ec…
[^ ] 跟 [! ] 差在哪?-- Shell十三问<第十四问>
[^ ] 跟 [! ] 差在哪?-- Shell十三问<第十四问> 这道题目说穿了, 就是要探讨 Wildcard(通配符)与 Regular Expression(正则表达式)的差别的.这也是许多初学 shell 的朋友很容易混乱的地方. 首先, 让我们回到十三问之第 2 问, 再一次将我们提到的 command line format 温习一次: [code]command_name options arguments[/code] 同时, 也再来理解一下我在第 5 问所提到的变量替换的特…
shell十三问
1) 为何叫做 shell ?在介绍 shell 是甚幺东西之前,不妨让我们重新检视使用者与计算机系统的关系:图(FIXME)我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动,硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管,事实上,我们每天所谈的 linux ,严格来说只是一个操作系统,我们称之为"核心(kernel)".然而,从使用者的角度来说,使用者也没办法直接操作 kernel ,而是透过 kernel…
shell 十三问
经典的Shell十三问 摘选整理自:http://bbs.chinaunix.net/thread-218853-1-1.htmlhttps://github.com/wzb56/13_questions_of_shell/blob/master/README.md 1. 为何叫做shell? 我们知道计算机的运作不能离开硬件,但使用者却无法直接操作硬件,硬件的驱动只能通过一种称为“操作系统(OS,Opertating System)的软件来管控.linux严格来说只是一个操作系统(OS),我们…
《Shell十三问》笔记(下)
继续开始shell十三问中11-13问和后续补充的笔记,加油! (14)输入重定向与输出重定向 “>”是标准输出重定向,可以把输出结果送入文件 “<”是标准输入重定向,可以重新指定文件的内容作为输入 “2>”是标准错误重定向,可以把命名执行出现的错误提示送入文件 如果你想把标准输出和标准错误输出到一个文件中,可以使用如下的方法 $ ls my.file no.such.file 1>file.both 2>&1 (错误到输出) $ ls my.file no.such…
for what? while 与 until 差在哪?-- Shell十三问<第十三问>
for what? while 与 until 差在哪?-- Shell十三问<第十三问> 最后要介绍的是 shell script 设计中常见的"循环"(loop). 所谓的 loop 就是 script 中的一段在一定条件下反复执行的代码. bash shell 中常用的 loop 有如下三种: for while until for loop 是从一个清单列表中读进变量值,并"依次"的循环执行 do 到 done 之间的命令行. 例: for va…
$@ 与 $* 差在哪?-- Shell十三问<第九问>
$@ 与 $* 差在哪?-- Shell十三问<第九问> 要说 $@ 与 $* 之前,需得先从 shell script 的 positional parameter 谈起.我们都已经知道变量(variable)是如何定义及替换的,这个不用再多讲了. 但是,我们还需要知道有些变量是 shell 内定的,且其名称是我们不能随意修改的,其中就有 positional parameter 在内. 在 shell script 中,我们可用 $0, $1, $2, $3 ... 这样的变量分别提取命令…
转:shell 经典, shell 十三问
原文链接:http://blog.csdn.net/freexploit/article/details/626660 我在 CU 的日子并不长,有幸在 shell 版上与大家结缘.除了跟众前辈学习到不少技巧之外,也常看到不少朋友的问题.然而,在众多问题中,我发现许多瓶颈都源于 shell 的基础而已.每次要解说,却总有千言万语不知从何起之感... 这次,我不是来回答,而是准备了关于 shell 基础的十三个问题要问大家﹗希望 shell 学习者们能够透过寻找答案的过程,好好的将 shell…
<转>shell经典,shell十三问
(注:关于变量概念,我们留到下两章才跟大家说明.) 好了,更多的关于 command line 的格式,以及 echo 命令的选项,就请您自行多加练习.运用了... -------------------------------------------------------------------------------------------------------------4) " "(双引号) 与 ' '(单引号)差在哪? 还是回到我们的 command line 来吧...…
shell十三问?
shell 十三问: 1) 为何叫做 shell ? 2) shell prompt(PS1) 与 Carriage Return(CR) 的关系? 3) 别人 echo.你也 echo ,是问 echo 知多少? 4) " "(双引号) 与 ' '(单引号)差在哪? 5) var=value?export 前后差在哪? 6) exec 跟 source 差在哪? 7) ( ) 与 { } 差在哪? 8) $(( )) 与 $( ) 还有${ } 差在哪? 9) $@ 与…
SHELL十三问[转载自CU论坛]
原文地址:http://bbs.chinaunix.net/thread-218853-1-1.html 一.为什么称作shell? http://bbs.chinaunix.net/viewthr ... p;page=2#pid1454336 二.shell prompt(PS1)与Carriage Return(CR)的关系? http://bbs.chinaunix.net/viewthr ... p;page=2#pid1467910 三.别人echo.你也echo.是问echo知多少…
《Shell十三问》笔记(上)
<shell十三问>是网中人前辈首发在CU论坛上对SHELL的一些整理,非常值得一读 注:笔记的标号非问题标号,而是知识点的标号.本篇笔记记录的是1-10问的知识点 (1)IFS:Shell预设使用的栏位分隔符号,可以由一个几多个“空白键(White Space).表格键(Tab).回车键(Enter)”组成 (2)echo命令支持的常用选项和反斜线控制字符 -e:启用反斜线控制字符的转换(参考下表) -E:关闭反斜线控制字符的转换(预设如此) -n:取消行末之换行符号(与-e选项下的\c字符…
shell十三问:关于${0##*/} 和${0%/*}
转自shell十三问: http://bbs.chinaunix.net/thread-218853-1-1.html …… 假設我們定義了一個變量為:file=/dir1/dir2/dir3/my.file.txt我們可以用 ${ } 分別替換獲得不同的值:${file#*/}:拿掉第一條 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt${file##*/}:拿掉最後一條 / 及其左邊的字串:my.file.txt${file#*.}:拿掉第一個 . 及其左邊的字…
你要 if 还是 case 呢?-- Shell十三问<第十二问>
你要 if 还是 case 呢?-- Shell十三问<第十二问> 还记得我们在第 10 章所介绍的 return value 吗? 是的,接下来介绍的内容与之有关,若你的记忆也被假期的欢乐时光所抵消掉的话,那,建议您还是先回去温习温习再回来... 若你记得 return value ,我想你也应该记得了 && 与 || 是甚么意思吧? 用这两个符号再配搭 command group 的话,我们可让 shell script 变得更加聪明哦. 比方说: comd1 &&…
Shell十三问[转]
Shell十三问 转载于网络,稍加整理. (一) 为何叫做Shell? 我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动,硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管,事实上, 我们每天所谈的linux , 严格来说只是一个操作系统, 我们称之为"核心(kernel)".然而,从使用者的角度来说,使用者也没办法直接操作 kernel ,而是透过 kernel 的"外壳"程序,也就是所谓的…
[转帖]Linux Shell常用技巧(五)
Linux Shell常用技巧(五) https://zhuanlan.zhihu.com/p/73451771 1. 变量:在awk中变量无须定义即可使用,变量在赋值时即已经完成了定义.变量的类型可以是数字.字符串.根据使用的不同,未初始化变量的值为0或空白字符串" ",这主要取决于变量应用的上下文.下面为变量的赋值负号列表: 符号含义等价形式=a = 5a = 5+=a = a + 5a += 5-=a = a - 5a -= 5*=a = a * 5a *= 5/=a = a /…
Shell prompt(PS1) 与 Carriage Return(CR) 的关系?-- Shell十三问<第二问>
Shell prompt(PS1) 与 Carriage Return(CR) 的关系?-- Shell十三问<第二问> 当你成功登录进一个文字界面之后,大部份情形下,你会在荧幕上看到一个不断闪烁的方块或底线(视不同版本而别),我们称之为游标(coursor).游标的作用就是告诉你接下来你从键盘输入的按键所插入的位置,且每输如一键游标便向右边移动一个格子,若连续输入太多的话,则自动接在下一行输入. 假如你刚完成登录还没输入任何按键之前,你所看到的游标所在位置的同一行的左边部份,我们称之为提示符…
Shell十三问更新总结版 -- 什么叫做 Shell?-- Shell十三问<第一问>
Shell十三问更新总结版 简介 ChinaUnix 论坛 Shell 版名为網中人的前辈于 2004 年发布的精华贴,最近回炉这块内容,觉得很多东西讲的实在透彻,非常感谢前辈網中人,同时我个人也对这个系列做了一些总结和备注,写于下面章节,虽然这篇文件写于2004年,但是Shell这个东西变化很少,这个系列希望能够帮助到大家提供给大家,有心学习的同学不要读一遍练习一遍就算完了,第一遍和第二遍和第十遍读这个系列,感受绝对不一样,疏漏处请见谅. 網中人原贴:http://bbs.chinaunix.…
Shell 脚本(五) Shell 工具 及 企业面试题
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 十.Shell工具(重点) 1.cut cut 的工作就是“剪”,具体的说就是在文件中负责剪切数据用的. cut 命令从文件的每一好难过剪切字节.字符和字段并将这些字节.字符和字段输出. 1.1 基本用法 cut [选项参数] filename 说明: 默认分隔符是制表符 1.2 选项参数说明 选项参数 功能 -f 列好,提取第几列 -d 分隔符,按照指定分隔符分割列 1.3 案例…
Shell学习(五)—— awk命令详解
一.awk简介 awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报表生成器,就是对文件进行格式化处理的,这里的格式化不是文件系统的格式化,而是对文件内容进行各种"排版",进而格式化显示:在linux中我们使用的是GNU awk简称gawk,并且gawk其实就是awk的链接文件,因此在系统上使用awk和gawk是一样的. 二.awk语法 语法格式: awk…
Linux Shell脚本面试25问
Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务. Q:2 什么是默认登录shell,如何改变指定用户的登录shell 答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的.使用chsh命令可以改变默认的shell.示例如下所示: # chsh <用户名> -s <…
【转】Linux Shell脚本面试25问
Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务. Q:2 什么是默认登录shell,如何改变指定用户的登录shell 答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的.使用chsh命令可以改变默认的shell.示例如下所示: # chsh <username> -…
shell编程基础(五): 正则表达式及其使用
正则表达式 1.前情提要 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxxx@xxxx.xxx模式的字符串(也就是email地址),要求x字符可以是字母.数字.下划线.小数点或减号,email地址的每一部分可以有一个或多个x字符,例如abc.d@ef.com.1_2@987-6.54,当然符合这个模式的不全是合法的email地址,但至少可以做一次初步筛选,筛掉a.b.c@…