你好,游客 登录 注册 搜索
背景:
阅读新闻

Shell脚本基础,管道,重定向,Shell变量

[日期:2016-09-12] 来源:Linux社区  作者:Linux [字体: ]

Linux并不用文件名的后缀来区分文件格式,但是习惯上我们还是用".sh"来表示一个shell脚本文件
刚刚写完的一个shell脚本程序通常是没有执行权限的,需要手动$chmod +x filename.sh来添加可执行权限

开头

任何一个shell脚本程序都必须在开头用#!标识使用的shell程序,如果用的是bash,那就是#!/bin/sh

注释

shell脚本一行中的#之后的部分为注释

管道

管道是管理Linux十分有用的工具,它可以把前一个命令的结果直接传递给后一个命令
$grep "test" file1.txt | wc -l

重定向

所谓重定向即将输入输出从标准的输入输出重定向到其他位置,比如从文件输入或输出到文件
> 如果文件不存在就创建文件并将内容写入,如果文件存在就把文件清空再写入内容
>>如果文件不存在就创建文件并将内容写入,如果文件存在就在原文件后面写入内容
$echo "this is echo" > echo_content.txt

定义变量

shell脚本的变量在使用前不需要"声明",什么时候用,就什么时候定义
shell脚本的变量也不区分整型、浮点型etc,所有的变量在解释器看来都是字符串
shell脚本的字符串可以使用" "也可以使用' '
有Python经验的程序员可能会在运算符的前后大量的使用[空格]来使程序更加整齐,但是shell里不能这样,因为解释器会把[空格]也看做变量名的一部分,导致程序出错

var="Hello Shell"
cur_ver=1.1

使用变量

shell用$来取一个变量的值,如果有歧义,可以使用{}来对变量进行标识

echo $var 
echo $variable     #解释器会去寻找**variable**这个变量,但这个变量是不存在的,没有值
echo ${var}iable    
echo $cur_ver

输出的结果

hello shell

hello shelliable
1.1

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-09/135147.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款