当前位置:首页 » 编程软件 » shell脚本test

shell脚本test

发布时间: 2022-06-29 09:14:59

1. 编写一个shell脚本实现: 判断用户家目录下(~)下面有没有一个叫test的文件夹

#!/bin/bash

cd~
dir="test"
if[-d"$dir"];then
num=0
while(($num<3));do
read-p"Inputfilename:"file
if[-f"$dir/$file"];then
echo"fileisexists,pleaseinputotherfilename"
num=`expr$num+1`
continue
else
touch$dir/$file
break
fi
done
else
read-p"testdirisnotexists,areyouwanttocreateit?[y/n]"ch
if["$ch"="y"];then
mkdir-p$dir
else
exit1
fi
fi

2. 如何运行shell脚本

编写好的shell脚本(如:test),可以采取两种方式进行运行:
一、 $ sh test
一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。
也可以采用 $ ksh test
这种方式要求shell具有“可读”的访问权限。
二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。
chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)
chmod +rx test(同上)
chmod u+rx test(只有文件属主具有读和执行的访问权限)
按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。
1、test(如果命令检索路径包含当前目录)
2、./test(如果命令减缩路径不包含当前目录)
*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。

3. 我在Shell脚本的目录下有test.sh 为什么直接输脚本名test.sh不能执行脚本,输入./test.sh可以执行

直接输入可以执行的程序,需要把你要执行的程序放到系统的环境目录中,这样操作系统会自动去环境目录中搜索你的程序,如/bin,例如我们常用到cd, rm, mv ..., 而./表示我们要执行当前目录下的文件,否则操作系统不知道你要执行文件的目录。

4. 如何运行shell脚本

编写好的shell脚本(如:test),可以采取两种方式进行运行: 一、 $ sh test 一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。 也可以采用 $ ksh test 这种方式要求shell具有“可读”的访问权限。 二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。 chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限) chmod +rx test(同上) chmod u+rx test(只有文件属主具有读和执行的访问权限) 按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。 1、test(如果命令检索路径包含当前目录) 2、./test(如果命令减缩路径不包含当前目录) *说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。

5. shell脚本是什么

当执行命令或程序语句是通过程序文件而不是命令行,那这个程序被称为Shell脚本。如果Shell脚本内置很多命令、语句及循环控制,然后一次性执行完毕,这种通过文件执行脚本的方式称为非交互方式。用户可以在Shell脚本中输入一系列命令及命令语句组合。这些命令、变量和流程控制语句等有机地结合在一起,就形成一个功能强大的Shell脚本。

6. linux下利用test命令的判断文件属性的功能编写一个shell脚本

对于文件是否有读写权限,这个没有涉及
#!/bin/bash
read -p "please input the file name:" file
if [ ! -n "$file" ];
then
echo please input the file name please
exit 0
fi
ls $file > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo file exist
cp $file $file.bak
vi $file
else
echo file not exist!
fi

7. 跪求 用Shell 脚本 实现 统计test目录的各文件的行数 并分类

#!/bin/bash
# count the line of the file.
MYDIR="/root/test"
DIRLIST=`ls ${MYDIR}`
SF=()
MF=()
LF=()
for i in ${DIRLIST}
do
LINE=`cat ${MYDIR}/$i | wc -l`
if ((${LINE}<10))
then
SF=(${SF[*]} $i)
elif ((${LINE}>=10)) && ((${LINE}<=100))
then
MF=(${MF[*]} $i)
elif ((${LINE}>100))
then
LF=(${LF[*]} $i)
fi
done
echo Small files: ${SF[*]}
echo Medium files: ${MF[*]}
echo Large files: ${LF[*]}

已测试正确并无错误,把你要测试的目录的路径改下即可

8. 编写一个测试文件类型胡shell脚本命令testfile.sh

shell 判断语句

流程控制 "if" 表达式 如果条件为真则执行then后面的部分: if ....; then
....
elif ....; then
....
else
....
fi
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等… 通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等 -r file用户可读为真
-w file用户可写为真
-x file用户可执行为真
-f file文件为正规文件为真
-d file文件为目录为真
-c file文件为字符特殊文件为真
-b file文件为块特殊文件为真
-s file文件大小非0时为真
-t file当文件描述符(默认为1)指定的设备为终端时为真
######################################################### 含条件选择的shell脚本
对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,包括比较运算、判断文件是否存在等。基本的if条件命令选项有: -eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在
几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。 ################################################################## 判断文件是否存在 #!/bin/sh
today=`date -d yesterday +%y%m%d`
file="apache_$today.tar.gz"
cd /home/chenshuo/shell
if [ -f "$file" ];then
echo "OK"
else
echo "error $file" >error.log
mail -s "fail backup from test" [email protected] <error.log
fi

9. 编写shell脚本test,输入两个数,如果目录存在文件a则显示该脚本名称和两个数相加,否则当前用户主目录

read -p "输入两个数:" num1 num2
if [ `find / -type f -name a|wc -l` -ne 0 ];then
echo "$0 $[ $num1 + $num2 ]"
else
cd
pwd
fi
----------------------------------------------------------------------------
完善了下 不能输入空 不能输入特殊字符
#!/bin/sh
while true
do
read -p "输入两个数:" num1 num2
[[ ! -n "$num1" ]] && echo "输入不对" && continue
[[ ! -n "$num2" ]] && echo "输入不对" && continue
expr $num1 + $num2 &>/dev/null
[ $? -ne 0 ] && echo "输入不对" && continue
if [ `find / -type f -name "a"|wc -l` -ne 0 ];then
echo "$0 $[ $num1 + $num2 ]"
exit
else
cd
pwd
exit
fi
done

10. 如何在shell脚本中,判断一个基本命令执行是否成功

1.连接到相应的Linux主机,进入Linux命令行状态,等待shell命令的输入。

热点内容
安卓和csharp哪个发展好 发布:2024-05-18 18:09:30 浏览:526
换编程题库 发布:2024-05-18 18:00:58 浏览:562
如何使用服务器ip直连网站 发布:2024-05-18 18:00:49 浏览:432
三星n7100哪个安卓版本好用 发布:2024-05-18 17:55:41 浏览:489
万国觉醒采集脚本源码 发布:2024-05-18 17:55:39 浏览:947
sqlserver加字段 发布:2024-05-18 17:54:53 浏览:928
安卓手机如何清除应用记录 发布:2024-05-18 17:31:37 浏览:639
查看存储过程权限 发布:2024-05-18 17:18:33 浏览:192
php类self 发布:2024-05-18 17:15:03 浏览:895
手机2b2t的服务器地址是多少 发布:2024-05-18 17:14:56 浏览:189