Shell 脚本中 '$' 符号的多种用法】的更多相关文章

通常情况下,在工作中用的最多的有如下几项: $0:Shell 的命令本身 $1 到 $9:表示 Shell 的第几个参数 $? :显示最后命令的执行情况 $#:传递到脚本的参数个数 $$:脚本运行的当前进程 ID 号 $*:以一个单字符串显示所有向脚本传递的参数 $!:后台运行的最后一个进程的 ID 号 $-:显示 Shell 使用的当前选项 ...... 今天将通过以上几种选项并做进一步的操作案例: 1.引用变量 引用变量时,使用 $ 符号直接来进行引用,以及包括循环变量: [root@loc…
在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ? : ^ $#   $@ `command`{}   [] [[]] ()   (()) ||   && {xx,yy,zz,...}~   ~+   ~-   &   \\<...\\>   + - %=   ==   !=    # 井号 (comments) 这几乎…
shell Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive). Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一 个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲 命令.Shell脚本和编程语言很相似,也有变量和流程控制语句,包括循环和分支.但Shell脚本是解释执行的,不需 要编译,Shell程序从脚本中一行一行读取…
shell概念 "shell"既是一种解释型编程语言,也是一个这种编程语言的解释器的名字 shell是解释型语言,就是解释器会一条一条的翻译每一条语句并执行,对比之下,C语言是编译型语言,编译器把整个工程编译成可执行文件才能执行 在没有续行符(\回车)的情况下,shell脚本的一条语句以"回车"为结束 任何一个shell脚本程序都必须在开头用#!标识使用的shell程序,如果用的是bash,那就是#!/bin/sh shell脚本一行中的#之后的部分为注释 刚刚写完…
一.需求背景     因此次项目的生产环境中部署了多套系统,每天会产生大量的日志(数百GB的量),侵占了服务器宝贵的存储资源空间.为了有效缓解服务器存储压力,考虑通过Linux的Shell脚本结合crontab定时每周一对上周7天的日志打包压缩,并删除原被打包的日志文件,以腾出更多可利用的存储资源空间. 对于初次接触Shell脚本的同学,建议先花几个小时时间学习一下Shell.附Shell教程链接如下: http://www.runoob.com/linux/linux-shell-proces…
在Windows中编辑的shell脚本,传到linux系统中,在末尾发现出现了很多^M字符 1.问题分析 在windows下使用notepad++写的脚本上传到Linux下,在使用vim编辑的时候我们发现在行末出现了^M. 2.^M的来历 ^M字符的来历和作用:在DOS/Windows里,文本文件的换行符为\r\n,而在nix系统里则为\n,所以DOS/Windows里编辑过的文本文件到了nix里,每一行都多了个^M.所以^M只是一个换行符号,没有实际的用处,我们可以将它保留,也可以将它删除 3…
shell脚本中 '$' 与不同的符号搭配其表示的意义也会不同 特殊标志符 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数. 例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数 $? 上个命令的退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本的所有参数…
先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> test.sql #将test.sql文件中的每一行最后的符号“,”删除 sed -i 's/,$//g' test.sql #在test.sql文件中每行的开头添加左括号“(” sed -i 's/^/(&/g' test.sql #在test.sql文件中每一行的末尾添右括号“)” sed -i 's…
变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid ./package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh:init_wireless_driver "$@"hbg@HWM:~/teststep1/trunk/A3$ echo $$12333hbg@HWM:~/teststep1/trunk/A3$ hbg@HWM:~…
head_files=`find ./fmsConf/ -name "*.pid"` for file in $head_files do cat $file | awk rm -f $file done 代码如上 解释: 1. 查找到 ./fmsConf目录下的所有的pid文件 2. 对查找到的文件进行遍历 3. 开始遍历 4. 分开解释: 1. cat $file : 打印出file文件的内容 2. awk '{print $1}' : 打印第一个单元字符 3. xargs : 将…