码迷,mamicode.com
首页 > 其他好文 > 详细

开发者指南|有哪些开发工具堪称神器,却不为大众所知?

时间:2020-08-07 18:10:02      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:相关   优秀   参数   tps   解构   人工   业务开发   中心   开发   

Linux shell 学习记录

一、简介

shell是linux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。

 

二、shell 程序执行

如何执行shell程序呢?

有两种方法:以hello文件为例说明

#!/bin/bash
# This is a very simple example
echo Hello World

1、种是显式制定 BASH 去执行:
$ bash hello 或
$ sh hello (这里 sh 是指向 bash 的一个链接,“lrwxrwxrwx 1 root root 4 Aug 20 05:41 /bin/sh -> bash”)

2、可以先将 hello 文件改为可以执行的文件,然后直接运行它

此时由于 hello 文件第一行的 "#! /bin/bash" 的作用,系统会自动用/bin/bash 程序去解释执行 hello 文件的:

$ chmod u+x hello
$ ./hello

此处没有直接 “$ hello”是因为当前目录不是当前用户可执行文件的默认目录,而将当前目录“.”设为默认目录是一个不安全的设置。

需要注意的是,BASH 程序被执行后,实际上 Linux 系统是另外开设了一个进程来运行的。

 

三 、source命令

source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。

功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句

source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

用法:

source filename 或 . filename

source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。

 

source filename 与 sh filename 及./filename执行脚本的区别在那里呢?

1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。

2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

 

 

 

参考资料:

Linux——shell脚本的基础篇(变量定义、变量种类、变量操作)

Linux Bash Shell快速入门

编写Shell脚本的最佳实践

Linux上的Shebang符号(#!)

linux shell 和linux 命令的区别?windows shell 和 windows 命令呢?

Linux如何退出tail 命令

source命令

开发者指南|有哪些开发工具堪称神器,却不为大众所知?

标签:相关   优秀   参数   tps   解构   人工   业务开发   中心   开发   

原文地址:https://blog.51cto.com/14865310/2517804

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!