shell3 source 命令和. 命令的区别 &shell编程:EOF

xiaoxiao2021-02-28  78

source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令。 注:该命令通常用命令“.”来替代。 如:source .bash_rc 与 . .bash_rc 是等效的。 注意: source命令与shell scripts的区别是,source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等

  在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“,再次返回到主调shell,可将其理解为分界符(delimiter)。既然是分界符,那么形式自然不是固定的,这里可以将”EOF“可以进行自定义,但是前后的”EOF“必须成对出现且不能和shell命令冲突。其使用形式如下: 交互式程序(命令)<<EOF command1 command2 ... EOF        ”EOF“中间的内容将以标准输入的形式输入到”交互式程序“,当shell看到”<<“知道其后面输入的分界符,当shell再次看到分界符时,两个分界符中间的部分将作为标准输入。        "EOF"一般常和cat命令连用。 注意,最后的”EOF“必须单独占一行。 下面以cat命令为例讲解”EOF“使用。一般有以下两种形式 1.cat<<EOF 2.cat<<EOF>filename或者cat<<EOF>>filename( cat<<EOF>filename或者cat<<EOF>>filename ) 其实,第一种形式和第二种形式没有什么本质的区别,第一种形式将内容直接输出到标准输出(屏幕),而第二种形式将标准输出进行重定向,将本应输出到屏幕的内容重定向到文件而已。 例1: #cat<<EOF >12 >34D >EOF 12 34D 例2: #cat>>filename<<EOF >DHA >23 >EOF #cat filename DHA 23

例3

flash_emmc.sh摘选:

fdisk /dev/mmcblk1 << EOF o n p 1 33 3358 n p 2 3359 t 1 b a 1 t 2 83 p w EOF

转载请注明原文地址: https://www.6miu.com/read-49953.html

最新回复(0)