#!/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