首页 > 代码库 > 传递参数的讲解
传递参数的讲解
[root@teacher lianxi]# cat weizhi.sh
#!/bin/bash
echo filename $0
echo 第一个位置变量 $1
echo 第2个位置变量 $2
echo 第3个位置变量 $3
echo 第4个位置变量 $4
echo 第5个位置变量 $5
[root@teacher lianxi]#
[root@teacher lianxi]# bash weizhi.sh aocf dengyalin xiepeng oujieli zhoujiay
filename weizhi.sh
第一个位置变量 aocf
第2个位置变量 dengyalin
第3个位置变量 xiepeng
第4个位置变量 oujieli
第5个位置变量 zhoujiay
===
往脚本里传递参数,需要使用位置变量
===
[root@teacher lianxi]#
====
#!/bin/bash
echo filename $0
echo 第一个位置变量 $1
echo 第2个位置变量 $2
echo 第3个位置变量 $3
echo 第4个位置变量 $4
echo 第5个位置变量 $5
echo ok!
touch $1 $2 $3 $4
================================================
[dehua@teacher ~]$
===
[root@teacher lianxi]#
==
[root@teacher lianxi]# echo ${c}hello #防止将变量和后面接的字符串搞错成另外的变量,所以使用{}加以区别
123hello
[root@teacher lianxi]# echo $chello
[root@teacher lianxi]#
====
[root@lvm ~]# cat fdisk.sh
echo $1
disk_1=`echo $1`
#read aa #插入调试的断点,等待输入,就知道前面的命令是否有问题
fdisk_fun()
{
fdisk -S 56 $disk_1 <<EOF
n
p
1
w
EOF
sleep 5
mkfs.ext4 ${disk_1}1
}
fdisk_fun
===
[root@lvm ~]# ./fdisk.sh /dev/sdg 执行脚本
===
[root@lvm ~]# cat while.sh
echo tencert alibaba sina >internet.txt
echo sohu yahoo tianya >>internet.txt
while read a b c
do
echo $c
done <internet.txt #输入重定向
[root@lvm ~]#
每次读一行文件将参数(以空格分割)分别赋值
===
read a b c 读入几个变量
read a b <file1 没有循环 将第一个字段赋值给a,第二个字段赋值给b
===
sed 循环 一行一行的处理文件 行处理 (对文本文件进行处理的命令)
-i 是直接对后面接的文件进行操作,会马上生效,注意安全.
sed -i ‘/^mike/s/^/#/‘ file 将mike行注释
[root@lvm ~]# cat sed.sh
echo xieshiyu loudi lengshuijiang >xie.txt
echo /dev/sdg1 shaoyang longhui >>xie.txt
echo xiepeng shaoyang longhui >>xie.txt
#sed -i ‘s/xie/zhao/g‘ xie.txt
a=/dev/sdg1
grep -v ^# xie.txt |grep ${a}
sed -i "s=${a}*=#&=" xie.txt #找到变量a对应的内容,然后在前面加一个#号
sed -i ‘/^xieshiyu/s/^/#/‘ xie.txt #将xieshiyu开头的行,前面加一个#号
======================================
##sed命令截取行
sed -n ‘1p‘
===================================
传递参数的讲解