婚恋网站制作,提供镇江网站建设,wordpress更换域名搬家,app的网站域名一、shell函数
1、shell函数定义格式 参数说明#xff1a;
1、可以带function fun() 定义#xff0c;也可以直接fun() 定义,不带任何参数。
2、参数返回#xff0c;可以显示加#xff1a;return 返回#xff0c;如果不加#xff0c;将以最后一条命令运行结果#xff…一、shell函数
1、shell函数定义格式 参数说明
1、可以带function fun() 定义也可以直接fun() 定义,不带任何参数。
2、参数返回可以显示加return 返回如果不加将以最后一条命令运行结果作为返回值。 return后跟数值n(0-255) 1实例定义一个函数并调用 运行结果为 2实例2定义一个带有return语句的函数 返回结果为 函数返回值在调用该函数后通过 $? 来获得。
注意所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分直至shell解释器首次发现它时才可以使用。调用函数仅使用其函数名即可 2、函数参数 在Shell中调用函数时可以向其传递参数。在函数体内部通过 $n 的形式来获取参数的值例如$1表示第一个参数$2表示第二个参数...
实例带参数的函数 其结果为 注意$10 不能获取第十个参数获取第十个参数需要${10}。当n10时需要使用${n}来获取参数。 几个特殊字符用来处理参数 二 、shell 输入 / 输出重定向
1、Shell 输入/输出重定向 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令通常从一个叫标准输入的地方读取输入默认情况下这恰好是你的终端。同样一个命令通常将其输出写入到标准输出默认情况下这也是你的终端。
重定向命令列表如下 需要注意的是文件描述符 0 通常是标准输入STDIN1 是标准输出STDOUT2 是标准错误STDERR。 2、输出重定向 重定向一般通过在命令间插入特定的符号来实现。特别的这些符号的语法如下所示: 上面这个命令执行command1然后将输出的内容存入file1。 注意任何file1内的已经存在的内容将被新内容替代。如果要将新内容添加在文件末尾请使用操作符。
实例
执行下面的 who 命令它将命令的完整的输出重定向在用户文件中(users): 执行后并没有在终端输出信息这是因为输出已被从默认的标准输出设备终端重定向到指定的文件。 你可以使用 cat 命令查看文件内容 输出重定向会覆盖文件内容请看下面的例子 如果不希望文件内容被覆盖可以使用 追加到文件末尾例如 3、输入重定向
和输出重定向一样Unix 命令也可以从文件获取输入语法为 这样本来需要从键盘获取输入的命令会转移到文件读取内容。
注意输出重定向是大于号()输入重定向是小于号()。 实例
接着以上实例我们需要统计 users 文件的行数,执行以下命令 也可以将输入重定向到 users 文件 注意上面两个例子的结果不同第一个例子会输出文件名第二个不会因为它仅仅知道从标准输入读取内容 同时替换输入和输出执行command1从文件infile读取内容然后将输出写入到outfile中。 4、重定向深入讲解
1一般情况下每个 Unix/Linux 命令运行时都会打开三个文件
标准输入文件(stdin)stdin的文件描述符为0Unix程序默认从stdin读取数据。
标准输出文件(stdout)stdout 的文件描述符为1Unix程序默认向stdout输出数据。
标准错误文件(stderr)stderr的文件描述符为2Unix程序会向stderr流中写入错误信息。
默认情况下command file 将 stdout 重定向到 filecommand file 将stdin 重定向到 file。 如果希望 stderr 重定向到 file可以这样写 如果希望 stderr 追加到 file 文件末尾可以这样写 2) 表示标准错误文件(stderr)。
如果希望将 stdout 和 stderr 合并后重定向到 file可以这样写 如果希望对 stdin 和 stdout 都重定向可以这样写 command 命令将 stdin 重定向到 file1将 stdout 重定向到 file2。 5、/dev/null 文件
如果希望执行某个命令但又不希望在屏幕上显示输出结果 那么可以将输出重定向到 /dev/null /dev/null 是一个特殊的文件写入到它的内容都会被丢弃如果尝试从该文件读取内容那么什么也读不到。但是 /dev/null 文件非常有用将命令的输出重定向到它会起到禁止输出的效果。
如果希望屏蔽 stdout 和 stderr可以这样写 注意0 是标准输入STDIN1 是标准输出STDOUT2 是标准错误输出STDERR。 这里的 2 和 之间不可以有空格2 是一体的时候才表示错误输出。