linux shell学习之bash解析次序 --新手笔记

这里先以一个例子简单标记一下,将这个问题抛出,以后再补充完整。

bash的解析次序

例子:

[email protected]:~/sh_test$ sudo awk ‘NR==1 {print $0}‘ /etc/shadow
root:!:16141:0:99999:7:::
[email protected]:~/sh_test$ sudo awk ‘NR==1 {print $0}‘< /etc/shadow
-bash: /etc/shadow: 权限不够

为什么上面命令2加了一个文件输入定向符就出现权限不够。原因:加<命令成了两部分,bash先以自己的权限打开/etc/shadow,然后再调用sudo、awk。很明显,自己的权限是不够打开文件的。

时间: 2024-10-19 20:10:20

linux shell学习之bash解析次序 --新手笔记的相关文章

【转】十分有用的linux shell学习总结

在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们 数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux Shell的系列博客就给予了我极大的帮助,然而在实际的使用中却发现,有的时候确实忘记了某个技术点或某个Shell命令的使用方式曾经在哪一篇博客中 予以了说明,所以不得不多次点击多篇博客,直到找到想要那篇的为止,鉴于此,为了方便我们每个人的查阅,这里特别给出了前十二篇系列博客的目录以供大家参 阅和查

Linux Shell 学习笔记

2.return与exit区别 return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用. exit(0)表示正常退出执行程序,如果加其它的数值:1,2,....可以表示由于不同的错误原因而退出 . main函数中exit(0)等价于return 0. 1. Linux下一条命令或一个进程执行完成会返回一个一个状态码. 0 === 成功执行 非0 === 执行过程

Shell学习之Bash变量详解(二)

Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这种变量中主要保存和系统操作环境相关的数据. 位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的. 预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的. Bash变量注意点 1.变量名称可以由字母.数字和下划线组成,但是不能以数字

Linux Shell学习之基础篇

在学习Linux和OpenStack过程中,感觉不管是大规模部署部署还是运维,Shell脚本都已经是标配,所以学好脚本很有必要. 以下仅为Linux Shell的一些基础笔记,这里作为笔记记下. ===============linux shell简介====================== 1.命令补全:连续按两次Tab   文件或者文件夹补全:一次Tab   命令帮助:--help 2.chmod u=rwx,g+w,o+r filename   chown root.root file

linux shell学习一

本博客参考自: http://www.cnblogs.com/waitig/p/5523409.html <shell从入门到精通>  张春晓编著 Shell简介 Shell自身是一个用C语言编写的程序,是用户来使用Unix或Linux的桥梁,用户的大部分工作都需要通过Shell来完成.只有熟练使用shell,才能熟练掌握linux. 可以说:Shell既是一种命令语言,又是一种程序设计语言. 因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是

linux shell学习之shell流程控制

在linux shell编程中,流程控制结构与语句,也算是shell脚本中的重点了,不了解的朋友,跟随脚本小编一起来学习下吧. linux控制流结构学习. 一,shell控制流结构 1.控制结构   6.while循环 2.if then else语句 7.until循环 3.case 语句  8.break控制 5.for循环    9.continue控制 1,if then else  if 条件1 如果条件1为真  then 那么  命令1 执行命令1  elif 条件2 如果条件1不成

Linux Shell 学习笔记 一 目录结构

以Red Hat Enterprise Linux 各版本为例,RHEL中目录具体作用如下, /bin       存放普通用户使用的命令 /sbin     存放管理员可以执行的命令 /home   存放普通用户的家目录 如zhangshan家目录为/zhangshan /root     管理员的家目录 /etc       存放配置文件的目录 /boot     存放跟启动相关的文件 /usr       用户自定义的相关程序文件 /porc     内核,硬件参数相关的目录 /var  

linux shell学习笔记二---自定义函数(定义、返回值、变量作用域)介绍

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu

linux shell学习计划

因为工作需要,所以打算把linux shell系统学一下子,毕竟shell比较实用,且门槛似乎比其他编程语言要简单一点.大概定的路线就是如下:(1)linux shell 背景以及shell运行执行的机制(2)基础语法A(变量,表达式,参数传递,数量类型,算数运算,逻辑运算等)(3)基础语法B(循环判断之类的控制结构,函数等)(4)正则表达式3大法宝(5)正则表达式进阶(6)linux shell脚本实战(譬如一些监控系统资源的脚本,批量配置下发,批量配置检查脚本,压力测试执行脚本等等~) 原文