首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell脚本】$ shell脚本使用

shell脚本 '$' 与不同符号搭配其表示意义也会不同 特殊标志符 含义 $0 当前脚本文件名 $n 传递给脚本或函数参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数参数个数 $* 传递给脚本或函数所有参数 $@ 传递给脚本或函数所有参数 $?...上个命令退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本所有参数,不被双引号(" "...)包含时,都以"$1" "$2" … "$n" 形式输出所有参数。...但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 形式输出所有参数

6.1K20

Shell脚本逐行读取文件命令方法

方法一、使用输入重定向 逐行读取文件最简单方法是while循环中使用输入重定向。...- 使用echo显示输出内容,输出内容包括自定义字符串和变量,$rows变量为文本文件每行内容 Tips:可以将上面的脚本缩减为一行命令,如下: [root@localhost ~]# cat mycontent.txt...|while read rows;do echo "Line contents are : $rows";done 方法三、使用传入文件名作为参数 第三种方法将通过添加$1参数,执行脚本时,脚本后面追加文本文件名称.../bin/bash cat mycontent.txt |awk '{print "Line contents are: "$0}' 运行结果: 总结 本文介绍了如何使用shell脚本逐行读取文件内容...,通过单独读取行,可以帮助搜索文件字符串。

8.6K21
您找到你想要的搜索结果了吗?
是的
没有找到

Shell-aliasShell脚本使用

概述 shell开启alias 实际操作 概述 众所周知,shell脚本使用是非交互式方式,非交互式模式下alias扩展功能默认是关闭,此时虽然可以定义alias别名,但是shell不会将alias...别名扩展成对应命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH均没有与alias别名同名命令,则shell会找不到指定命令。...---- shell开启alias 使用shell内置命令shopt命令来开启alias扩展选项。...默认是打开非交互式模式下是关闭,但可以用可shopt来将其开启 shopt -s expand_aliases ---- 实际操作 我们项目中某个模块双机启动脚本(root用户下操作),...项目启动中会依赖一些环境变量,所以双机启动脚本需要显式引入.bash_profile文件。 所以我们将 开启alias命令放在 .bash_profile

2.2K10

python脚本执行shell命令方法

python脚本执行shell命令方法 最近在写python一些脚本,之前使用python都是django中使用,可能大部分内容都是偏向于后端开发方面的,最近在写一些脚本时候,发现了...aaa.sql文件文件内容是aaa,然后我们来看测试过程 1[root@ /data ]$python 2Python 2.7.15 (default, Nov 29 2018, 13:37...命令打印出来aaa.sql内容,然后下面出现数字0代表上述命令执行成功;如果我们打印bbb.sql则返回是256,表示执行中出现了问题。...,可以得到一个脚本或者一个命令返回和执行结果,当然,我们也可以使用下面的方法来分别校验aaa.sql文件是否存在,以及查看aaa.sql执行结果: 1[root@ /data]$python 2Python...,把脚本执行结果和返回进行保存,根据脚本执行结果来确定最终返回: 1cmd = "/bin/sh /data/scripts/test.sh %s" % para 2status, res

5.2K00

Shell 脚本调用另一个 Shell 脚本三种方式

被调用脚本与父脚本同一个 Shell 内执行。但是使用 exec 调用一个新脚本以后, 父脚本 exec 行之后内容就不会再执行了。...这是 exec 和 source 区别. source 与 fork 区别是不新开一个子 Shell 来执行被调用脚本,而是同一个 Shell 执行....exec exec 方式运行结果是,2.sh 执行完成后,不再回到 1.sh。运行顺序为 1-2。从pid看,两者是同一进程 PID=82287 运行。 source ?...exec 同一个 Shell 内执行,但是父脚本 exec 行之后内容就不会再执行了 source 同一个 Shell 执行,在被调用脚本声明变量和环境变量, 都可以脚本中进行获取和使用...参考: shell脚本调用另一个脚本三种不同方法(fork, exec, source)

4.3K20

Shell 脚本执行语法检查调试模式

文章目录 shell 脚本调试系列 概述 启用 verbose 调试模式 Shell 脚本启用语法检查调试模式 通过修改脚本首行来启用脚本检查 内置 set 命令来脚本启用调试模式 shell...脚本调试系列 Linux 启用 Shell 脚本调试模式 Shell 脚本执行语法检查调试模式 Shell 脚本中跟踪调试命令执行 ---- 概述 ?...写完脚本后,建议在运行脚本之前先检查脚本语法,而不是查看它们输出以确认它们是否正常工作。 本系列这一部分,我们将了解如何使用语法检查调试模式。...记住我们之前本系列 Linux 启用 Shell 脚本调试模式 解释了不同调试选项,在这里,我们将使用它们来执行脚本调试。...,并用下面的命令使脚本可执行: $ chmod +x script.sh 我们可以执行脚本并显示它被 Shell 读取到每一行: $ bash -v script.sh ---- Shell 脚本启用语法检查调试模式

1.8K20

Shell脚本循环读取文件每一行

,并将内容保存到变量line。...在这里,-r选项保证读入内容是原始内容,意味着反斜杠转义行为不会发生。输入重定向操作符< file打开并读取文件file,然后将它作为read命令标准输入。...今天遇到一个问题弄了好久才搞明白:我想在循环中动态链接字符串,代码如下: for line in `cat filename` do echo ${line}XXYY done 就是每一次循环过程给取出来字符串后面添加...后来发现是因为我文件是才Window下生产Linux下读取这样文件由于换行符不同会导致程序运行不出来正确结果。...解决办法:Linux安装dos2unix小工具,经过该工具转化以后文件再进行读取就没有问题了。

5.4K20

一文掌握EOFShell脚本妙用

前言:  EOF是End Of File缩写,表示自定义终止符。既然自定义,那么EOF就不是固定,可以随意设置别名,意思是把内容当作标准输入传给程序,Linux按Ctrl-d就代表EOF。  ...Shell我们通常将EOF与 << 结合使用,表示后续输入作为子命令或子Shell输入,直到遇到EOF为止,再返回到主调Shell。...回顾一下< <用法,当shell看到< <时候,它就会知道下一个词是一个分界符。该分界符以后内容都被当作输入,直到shell又看到该分界符(位于单独一行)。...通过cat配合重定向能够生成文件并追加操作,它之前先回顾几个特殊符号: < :输入重定向 > :输出重定向 >> :输出重定向,进行追加,不会覆盖之前内容 << :标准输入来自命令行一对分隔号中间内容...1.向文件file1.txt输入内容 [root@localhost ~]# cat >file1.txt <<EOF > aaa > bbb > ccc > EOF [root@localhost

3.7K30

shell脚本$符号意义

// shell脚本$符号意义 // 今天是远程办公第4天,渐渐找到了一点在家办公节奏了,改了几个shell脚本改动过程,发现还有一些知识点需要巩固,这里写出来,加深下印象。...关于$符号,大家肯定都不陌生,shell脚本,$作用还是比较大多,这里将所有的$组合都列出来,大家可以看下效果。 $组成命令大概有下面几个: $0,$1...$?,$!.../test.sh方法来运行脚本时候,$0是./test.sh,而不是test.sh 2 $? $?...结果是0 可以看到,第一次运行ls -l a.txt时候,由于我们目录没有a.txt这个文件,所以返回是1,第二次由于test.sh文件是存在,所以返回结果是0 3 $$ $$指的是脚本运行的当前进行...脚本后面设置了sleep 10命令,脚本运行完会睡眠10s,脚本打印出来了60658,此时我们查看当前脚本进程号,发现子进程进程id是60658 4 $*和$@ 这两个放在一起,主要是因为他们都代表引用所有参数

4.1K10

MakefileShell脚本简介

给很多刚接触Makefile的人: 1、Makefile可以嵌入shell脚本,而且能像shell脚本中一样,各种命令、控制结构都可使用。 2、Makefile主要结构是 ......只有command位置shell脚本才是有效,也就是只有“生成目标的规则处”写shell脚本才是shell脚本,其它位置shell都是无效。...3、Makefileshell,不同行在不同进程执行,不同行直接不能传递变量,所以很多时候shell都尽量使用反斜杠()来把相关内容串成一行。...4、Makefile变量和shell变量是两个不同东西,并且为了避免Makefile变量和shell变量冲突,引用Makefile变量最好使用$(Makefile_Var),引用shell变量时最好使用...但如果在纯粹shell编程,纯shell脚本里可以使用$VAR来引用VAR这个变量。 收藏于 2012-08-08

2K80

Shell脚本 DevNull 用途

命令行和脚本中都非常有用。...命令行和脚本中都非常有用 用途 /dev/null 通常被用于丢弃不需要输出流,或作为用于输入流文件,这些操作通常由重定向完成,任何你想丢弃数据都可以写入其中 丢弃标准输出 shell脚本时候...丢弃标准错误输出 shell脚本,删除一个文件时候,需要先判断文件是否存在,然后才能执行删除操作,否则删除时候会输出错误, 一般删除文件脚本内容如下: #!...cat /dev/null > t.txt [tt@ecs-centos-7 dev_test]$ cat t.txt 日志处理 脚本,为了方便调试,经常会加一些日志打印逻辑,有时这种调试日志还比较多...echo " this is debug log" >> log.txt 形式写入这个文件 现在脚本功能测试通过了,调试日志不需要写入log.txt了 可以这么做:原来脚本原样不动,本地先删除

1.1K20
领券