法一:echo ${var%.*} #这个是直接去除小数点及后面所有内容,只用于bash 法二:echo $var | awk -F. '{print $1}' #以小数点为分隔符取第一个字段 法三:echo $var | awk '{print int($0)}' #awk中可直接使用C函数取整
for var in con1 con2 con3... do 程序段 done 就上面的语法结构来说,这个var的变数内容在循环工作的时候: 1 第一次循环时,var的内容是con1; 2 第二次循环时,var的内容是con2; 3 第三次循环时,var的内容是con3; 5.case语句 case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模...
/bin/shif [ -f /mnt/1/1.txt ];then if [ `cat /mnt/1/1.txt` -eq 1 ];then if [ -f /mnt/2/2.txt ];then cd /mnt/2/ mv 2.txt 3.txt fi elif [ `cat /mnt/1/1.txt` -eq 2 ];then if [ -f /mnt/3/3.txt ];then cd /mnt/3/ ...
shellA调用shellB,如果shellB 里面需要使用路径作为变量,去寻找其它文件。那么要注意,不用pwd,其返回的是系统中用户当前所在位置的路径,也就是shellA的路径,这样就错了。应该用dirname $0,找出当前执行文件的路劲。 场景: 脚本observerReport.sh 里面调用 mergerReport.sh,observerReport.sh在script/目录, mergerReport...
cpu=$(cat /proc/cpuinfo | grep processor | wc -l)echo $cpu $()可以把命令行计算出来的值变成一个变量
/bin/shif [ -f /mnt/1/1.txt ];then if [ `cat /mnt/1/1.txt` -eq 1 ];then if [ -f /mnt/2/2.txt ];then cd /mnt/2/ mv 2.txt 3.txt fi elif [ `cat /mnt/1/1.txt` -eq 2 ];then if [ -f /mnt/3/3.txt ];then cd /mnt/3/ ...
GNU Awk 3.1.7 众所周知,Shell脚本⾥⾯把⼀个普通变量传递给awk是⾮常简单的,直接⽤ -v 参数赋值就⾏了。str1="Hello World"awk -v str2="$str1" 'BEGIN{print str2}'但是,要把⼀个数组传递给awk就不是那么简单的事情了。请看以下三个试验:1. 简单的数组可以先赋值后split arr1=(A...
引用文件应该这样 . function.var 你的父脚本test1.sh中修改一下 #!/bin/bash #source 5.sh read aa export aa . test2.sh echo $bb echo "$cc"
1. 命令行书写规则: 一行一条命令 如:cd、pwd 一行多个命令 如:cd;pwd 长命令使用反斜线字符(\) 1. 2. 3. 4. 5. 6. 7. 3. 掌握变量使用 了解系统变量 4. 掌握用户自定义变量 在shell 脚本中,所有的变量都由字符串组成,且不需要对变量进行声明。
[每日一技]在shell脚本里面做sudo 如下: echo"your-password"|sudo-Skill-9$PID