#!/bin/bash
#echo hi
find / -name 'games' -type d >1.txt
for I in `cat 1.txt` ; do
cd $I
for U in `seq 1 10` ; do
mkdir cexi$U
pwd
done
done
read -p "请输入需要修改的文件:" $A
case $A in
[0-9])
cd cexi$A;;
*)
help----[0-9]
esac
done
这只是个例 ,脚本没有按照你的要求写,但是可以自行更改完善达到你的要求
case 命令 用选择项可以做一些奇怪的东西,例如前面加个if 如果$1 = quit 就直接退出脚本不
继续下面的操作,否则就进入case循环
B. 询问一道Linux的shell编程题
摘要 1、编写脚本:输入hello输出hello,输入world,输出world
C. linux(shell)脚本编程题目求教,谢谢(200分,满意继续追加分)
先占下楼层,空了慢慢给你做!
先做第一题1月12日:
#!/bin/bash
echo this "date" :`date`;
echo this "cal" :`cal`;
echo this "pwd" :`pwd`;
echo this "ls" : `ls`.
第二题1月12日:
这个没法写了撒 太笼统;建议翻翻书。
我列个环境变量的例子吧:
#!/bin/bash
echo "第二题":
TEST_DIR=/root
export $TEST_DIR;
echo "环境变量TEST_DIR是/root".
第三题1月12日:
#!/bin/bash
echo "第三题for":
echo "3.1 for"
x=0
for ((i=1 ; i<101 ;i++));
do
x=$(($x+$i))
done
echo $x
echo "---------------------------------"
echo "第三题while":
echo "3.2 while"
x=0
i=1
while [ $i -lt 101 ]
do
i=$(($i+1))
x=$(($x+$i))
done
echo $x
第三题第二个
#!/bin/bash
echo "3.2"
function fib {
if [ $1 -lt 2 ]; then
echo -n $1
else
local n_2=$(($1 - 2))
local n_1=$(($1 - 1))
local f_n_2=$(fib $n_2)
local f_n_1=$(fib $n_1)
local f_n=$((f_n_2 + f_n_1))
echo -n $f_n
fi
}
n=10
for ((i = 0; i < $n; i++))
do
printf "fib(%2d) = %d\n" $i $(fib $i)
done
D. 关于Linux的shell简单编程题
1. rm `ls -R|grep [^a-f]` || echo "file 's not found"
2. chmod +w `ls -l |grep [^.r........]`
chmod +r `ls -l |grep [^.-........]`
E. linux(shell)脚本编程题目求教(200分请教)
1. 用vi打开一个空文件,文件名随意,然后在第一行写:
#!/bin/bash
另起一行跟上要使用的命令,比如ls date之类的,一条命令一行。
退出vi后,在命令行下输入 chmod +x 文件名 给文件增加运行权限
最后用 ./文件名 执行这个文件就可以了。
2. 环境变量用 env 和 set 2个命令可以看到,在命令行下直接输入就可以了,至于具体内容,太多,你得自己去查
3.
for 循环:
i=1
for i in 1..100; do
i=$(($i + 1))
done
while循环
i=1
while [ $i -le 100 ]; do
i=$(($i + 1))
done
算了,这些都能做,但做起来太麻烦,放弃了
F. linux shell编程题目
#!/bin/sh
FILE_NAME="/etc/passwd"
OLD_IFS=$IFS
IFS=":"
while read USR PASSWD USR_ID GRP_ID DESCRIPTION HOME_DIR SHELL
do
if [ "${SHELL}" == "/bin/bash" ]
then
echo "${USR} is bash user"
fi
done < ${FILE_NAME}
IFS=${OLD_IFS}
G. linux shell编程题
===========================================================================
#!/bin/bash
read -p "Please input flag:" flag
sum=`seq -s $flag $1 $2 | bc 2>/dev/null`
if [[ $flag == "+" || $flag == "-" ]]
then
echo The $1$flag$2 is $sum
echo The $1$flag$2 is $sum >>file
else
echo error
echo error >>file
fi
运行:
[root@localhost shell]# bash test3.sh 1 10
Please input flag:+
The 1+10 is 55
=====================================================================
第二题,说实话,没看懂要求~~~所以没法写,
交互式输入四个参数: 前缀 位数 开始序号 终止序号 ,这四个参数是用来干什么的???
你把要求写明白了,我再作答
H. linux的shell编程问题:我们老师出的题,但是我们没有学的必要,还得交作业,各位大侠帮帮忙啊~
1.编写SHELL脚本,能将文件d1和d2整合为文件d3。
#!/bin/bash
cat d1 d2 > d3
2.编写两个shell 脚本s1、s2,其中s1能够启动3个进程,进程名称分别为a,b,c
s1的内容:
#!/bin/bash
a="a"
b="b"
c="c"
for proc in $a $b $c
do
cpp="${proc}.cpp"
echo "Generating $cpp."
cat <<CAT >$cpp
#include <iostream>
using namespace std;
int main()
{
while(1)
{
};
return 0;
}
CAT
echo "Make $cpp"
make $proc
done
echo "Launching a b c."
./$a | ./$b | ./$c
s2的内容:
#!/bin/bash
a_pid=`ps -ef | grep "\./a" | grep -v 'grep' | awk '{print $2}'`
echo "The pid of the process a is $a_pid"
b_pid=`ps -ef | grep "\./b" | grep -v 'grep' | awk '{print $2}'`
echo "The pid of the process b is $b_pid"
c_pid=`ps -ef | grep "\./c" | grep -v 'grep' | awk '{print $2}'`
echo "The pid of the process c is $c_pid"
for kill_pid in $a_pid $b_pid $c_pid
do
kill -9 $kill_pid
if [[ $? == '0' ]];then
echo "Kill -9 $kill_pid success!"
fi
done
S2也可以改成
#!/bin/bash
ps -ef | grep "\./a" | grep -v 'grep' | awk '{print $2}' | xargs kill -9
ps -ef | grep "\./b" | grep -v 'grep' | awk '{print $2}' | xargs kill -9
ps -ef | grep "\./c" | grep -v 'grep' | awk '{print $2}' | xargs kill -9
I. Linux有两道shell编程的题,希望大神给解答一下
把shell脚本存储到一个文件中,如:move 和 mul
然后,用sh来执行脚本,或给脚本文件加上执行权限
一、sh ./move
二、
chmod +x move
./move
J. linux中的shell编程题
1设计一个shell脚本:将当前工作目录下的文件名按字母由大到小的顺序列出所有文件名。
#!/bin/bash
ls | sort
2设计一个shell脚本:将所有输入的整数相加
#!/bin/bash
sum=0
while [ 1 ]
do
read -p "input number:" num
if [ -z $num ]
then
break
fi
let sum=$[$sum + $num]
echo sum=$sum
done