本文共 912 字,大约阅读时间需要 3 分钟。
每一个脚本文件以#!开头,用来告诉shell需要指定哪一个解释器来进行执行(你发现什么错误没有?没错感叹号是!而不是!);
当某个解释器执行这个文件的时候,这一行就被当作注释行 所以你就明白了这一行对于shell来说就是识别并调用一个解释器来执行以下的命令语句,确定解释器之后,对于解释器来说这一行就是注释行 #!之后附带的路径,就是就用来解释脚本命令的二进制程序路径; 如果没有这一行,也就是说我们不写,我们在使用". /File" 执行的时候,默认使用bash解释器,当我们在脚本里面是bash可以解释的命令时候,文件执行正常;但是当我们在脚本里面是python expect或者其他语言的时候,文件无法执行会报错,得到 Command not found 警告 综上所述: 使用 . 命令或者 source命令 我们必须加上 #!(path) 如果是bash解释器,我们就加上:#!/bin/bash bash有诸如:ip ad sh ,ping,echo,grep,while,until,for等命令语句 如果是python解释器 ,我们就加上:#!/usr/bin/python 如果是expect解释器,我我们就加上:#!/usr/bin/expect expect有诸如:spawn ,expect ,send ,exp_continue等命令语句 如果是perl解释器,我们就加上:#!/usr/bin/perl … 注意:!不能是中文的! 注意:路径名必须正确,否则会得到 Command not found 警告 如果是 "解释器 file"命令那么就可以不加第一行,比如: bash file.sh expect file.exp pathon file,py 但我建议你还是加上去 好的,下课!有问题留言 ———————————————— 版权声明:本文为CSDN博主「宇文忠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_31789689/article/details/107906335