脚本的功能:
脚本可以带参数也可以不带,参数可以有多个,每个参数必须是一个目录,脚本检查参数个数,若等于0,则列出当前目录本身;否则,显示每个参数包含的子目录。
参考答案
{{{密码回复可见}}}
脚本可以带参数也可以不带,参数可以有多个,每个参数必须是一个目录,脚本检查参数个数,若等于0,则列出当前目录本身;否则,显示每个参数包含的子目录。
参考答案
{{{密码回复可见}}}
0
#/bin/bash
if [[ $# -eq 0 ]]; then
ls -ld `pwd`
else
until [[ $# -eq 0 ]]
do
if [[ ! -d "$1" ]]; then
echo "$1 is not dir"
shift
else
ls -l $1 |grep '^d'
shift
fi
done
fi
if [[ $# -eq 0 ]]; then
ls -ld `pwd`
else
until [[ $# -eq 0 ]]
do
if [[ ! -d "$1" ]]; then
echo "$1 is not dir"
shift
else
ls -l $1 |grep '^d'
shift
fi
done
fi
0
- #!/usr/bin/env python
- # coding=utf-8
- import tab #命令补全模块
- import os
- input_msg = raw_input('请输入目录的绝对路径,并用逗号分开:')
- pathdir = input_msg.split(',')
- script_path = os.getcwd()
- def judge_dictory(dictory_path):
- for root,dirname,filename in os.walk(dictory_path):
- for dictory in dirname:
- print (os.path.join(root,dictory))
- return os.path.join(root,dictory)
- if len(pathdir) == 1 and '' in pathdir:
- judge_dictory(script_path)
- else:
- for path in pathdir:
- judge_dictory(path)
0
- #!/bin/bash
- if [ $# == 0 ]
- then
- ls -ld `pwd`
- else
- for i in `seq 1 $#`
- do
- n=`echo $@ | cut -d " " -f $i`
- echo "ls $n"
- m=`ls -l $n | grep '^d' | wc -l`
- if [ $m -eq 0 ];then
- echo "No directory"
- else
- ls -l $n | grep '^d'
- fi
- done
- fi
- 跟铭哥的差不多哈
0
本帖最后由 zql254 于 2016-1-6 21:58 编辑
- if [ $# -eq 0 ];then
- ls -ld `pwd`
- else
- for i in `seq 1 $#`;do
- [ -d ${!i} ]&&ls -l ${!i}|grep ^d||echo "${!i}does not exist or is not a directory."
- done
- fi
0
#!/bin/bash
if [ $# == 0 ]
then
ls -ld `pwd`
else
for i in `seq 1 $#`
do
echo $@
n=`echo $@ | cut -d " " -f $i`
ls $n
done
fi
if [ $# == 0 ]
then
ls -ld `pwd`
else
for i in `seq 1 $#`
do
echo $@
n=`echo $@ | cut -d " " -f $i`
ls $n
done
fi
0
本帖最后由 loveyouhyf 于 2016-1-9 22:03 编辑
#!/bin/bash
if [ $# -gt 0 ]; then
i=$#
echo "参数个数为$i个"
for ((a=1;a<="$i";a++));do
b=$a
if [ -d ${!b} ];then
ls -l ${!b}|grep "^d"
else
echo "参数$b不是一个目录"
fi
done
else
echo "没有参数"
ls .
fi
#!/bin/bash
if [ $# -gt 0 ]; then
i=$#
echo "参数个数为$i个"
for ((a=1;a<="$i";a++));do
b=$a
if [ -d ${!b} ];then
ls -l ${!b}|grep "^d"
else
echo "参数$b不是一个目录"
fi
done
else
echo "没有参数"
ls .
fi
0
本帖最后由 t0ny1988 于 2016-1-19 15:45 编辑
#!/bin/bash
if [ $# -eq 0 ]
then
ls -d `pwd`
fi
for mulu in $@
do
if [ ! -d $mulu ]
then
echo "只支持目录"
else
tree -d $mulu
fi
echo $mulu
done
#!/bin/bash
if [ $# -eq 0 ]
then
ls -d `pwd`
fi
for mulu in $@
do
if [ ! -d $mulu ]
then
echo "只支持目录"
else
tree -d $mulu
fi
echo $mulu
done
0
- #!/bin/bash
- if [ $# -eq 0 ]
- then
- echo "没有参数!"
- else
- for i in $@
- do
- if [ -d $i ]
- then
- /bin/find $i -maxdepth 1 -type d ;
- echo "";
- else
- echo $i "不是目录!";
- echo "";
- fi
- done
- fi
0
- #!/bin/bash
- ##written by wangyl
- ##2016-04-06
- if [ $# -eq 0 ];then
- ls -ld `pwd`
- else
- for i in `seq 1 $#`;
- do
- a=$i
- echo "ls ${!a}"
- ls -l ${!a} | grep '^d'
- done
- fi
0
#!/bin/bash
[ $# -eq 0 ] && ls `pwd` && exit
for dirs in "$@" ; do
if [ ! -d $dirs ] ; then
echo "$dirs is not a directory"
exit 1
else
find $dirs -maxdepth 1 -type d -exec ls -ld {} \;
fi
done
[ $# -eq 0 ] && ls `pwd` && exit
for dirs in "$@" ; do
if [ ! -d $dirs ] ; then
echo "$dirs is not a directory"
exit 1
else
find $dirs -maxdepth 1 -type d -exec ls -ld {} \;
fi
done
0
[root@localhost mnt]# qemu-img create -f qcow2 -o preallocation=metadata /data/kvm/xin02.qcow2 10G
Formatting '/data/kvm/xin02.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 preallocation='metadata'
[root@localhost mnt]# ls /data/kvm/xin*
/data/kvm/xin02.qcow2 /data/kvm/xin.img
[root@localhost ~]# virt-install \
--name xin1 \
--ram 628 \
--disk path=/data/xin02.qcow2,format=qcow2,size=10,bus=virtio
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location '/mnt/' \
--extra-args 'console=ttyS0,115200n8 serial'
说明:
--name 指定虚拟机的名字
--ram 指定内存分配多少
--disk path 指定虚拟磁盘放到哪里,size=30 指定磁盘大小为30G,这样磁盘文件格式为raw,raw格式不能做快照,后面有说明,需要转换为qcow2格式,如果要使用qcow2格式的虚拟磁盘,需要事先创建qcow2格式的虚拟磁盘。 path=/data/test02.img,format=qcow2,size=7,bus=virtio
--vcpus 指定分配cpu几个
--os-type 指定系统类型为linux
--os-variant 指定系统版本
--network 指定网络类型
--graphics 指定安装通过哪种类型,可以是vnc,也可以没有图形,在这里我们没有使用图形直接使用文本方式
--console 指定控制台类型
--location 指定安装介质地址,可以是网络地址,也可以是本地的一个绝对路径,例如--location '/mnt/',
配置NFS服务
[root@localhost ~]# yum install -y nfs-utils rpcbind
[root@localhost ~]# vim /etc/exports
/mnt 192.168.1.0/24
[root@localhost ~]# /etc/init.d/rpcbind restart
停止 rpcbind: [确定]
正在启动 rpcbind: [确定]
[root@localhost ~]# /etc/init.d/nfs restart
关闭 NFS 守护进程: [确定]
关闭 NFS mountd: [确定]
关闭 NFS 服务: [确定]
Shutting down RPC idmapd: [确定]
启动 NFS 服务: exportfs: No options for /mnt 192.168.1.0/24: suggest 192.168.1.0/24(sync) to avoid warning
[确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[root@localhost ~]# showmount -e 192.168.1.188
Export list for 192.168.1.188:
/mnt 192.168.1.0/24
[root@localhost ~]# /etc/init.d/iptables stop
iptables:将链设置为政策 ACCEPT:nat mangle filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
nfs server 192.168.1.188
/mnt/images/install.img
ro
Formatting '/data/kvm/xin02.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 preallocation='metadata'
[root@localhost mnt]# ls /data/kvm/xin*
/data/kvm/xin02.qcow2 /data/kvm/xin.img
[root@localhost ~]# virt-install \
--name xin1 \
--ram 628 \
--disk path=/data/xin02.qcow2,format=qcow2,size=10,bus=virtio
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location '/mnt/' \
--extra-args 'console=ttyS0,115200n8 serial'
说明:
--name 指定虚拟机的名字
--ram 指定内存分配多少
--disk path 指定虚拟磁盘放到哪里,size=30 指定磁盘大小为30G,这样磁盘文件格式为raw,raw格式不能做快照,后面有说明,需要转换为qcow2格式,如果要使用qcow2格式的虚拟磁盘,需要事先创建qcow2格式的虚拟磁盘。 path=/data/test02.img,format=qcow2,size=7,bus=virtio
--vcpus 指定分配cpu几个
--os-type 指定系统类型为linux
--os-variant 指定系统版本
--network 指定网络类型
--graphics 指定安装通过哪种类型,可以是vnc,也可以没有图形,在这里我们没有使用图形直接使用文本方式
--console 指定控制台类型
--location 指定安装介质地址,可以是网络地址,也可以是本地的一个绝对路径,例如--location '/mnt/',
配置NFS服务
[root@localhost ~]# yum install -y nfs-utils rpcbind
[root@localhost ~]# vim /etc/exports
/mnt 192.168.1.0/24
[root@localhost ~]# /etc/init.d/rpcbind restart
停止 rpcbind: [确定]
正在启动 rpcbind: [确定]
[root@localhost ~]# /etc/init.d/nfs restart
关闭 NFS 守护进程: [确定]
关闭 NFS mountd: [确定]
关闭 NFS 服务: [确定]
Shutting down RPC idmapd: [确定]
启动 NFS 服务: exportfs: No options for /mnt 192.168.1.0/24: suggest 192.168.1.0/24(sync) to avoid warning
[确定]
启动 NFS mountd: [确定]
启动 NFS 守护进程: [确定]
正在启动 RPC idmapd: [确定]
[root@localhost ~]# showmount -e 192.168.1.188
Export list for 192.168.1.188:
/mnt 192.168.1.0/24
[root@localhost ~]# /etc/init.d/iptables stop
iptables:将链设置为政策 ACCEPT:nat mangle filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
nfs server 192.168.1.188
/mnt/images/install.img
ro
编辑回复