第一个脚本文件
复制代码 代码如下:
#!/bin/bash
echo "This is my first bash code!"
exit 0
重定向符号和数学计算
复制代码 代码如下:
#!/bin/bash
echo -n "The time and date are: "
date
value1=100 #等号前后不允许出现空格
value2=$value1
echo -n "value1="
echo $value1
echo -n "value2="
echo $value2
ls -l | sort > out.txt #管道符号(|)和重定向输出符号>
ls -l out.txt #重定向追加输出符号
echo -n "wc<out.txt:"
wc < out.txt #重定向输入符号<
echo "sort<<EOF ... EOF"
sort << EOF #内置输入重定向<<
`date`
EOF
#数学计算
echo -n "expr进行计算:1+5="
expr 1+5
echo -n "使用方括号进行计算:1+5="
echo $[1+5]
echo "使用bc计算器进行浮点运算"
var1=100
var2=200
var3=`echo "scale=4;$var1/$var2" | bc`
echo "$var1 / $var2 = $var3"
var4=71
var5=`bc<<EOF
scale=4
a1=($var1*$var2)
b1=($var3*$var4)
a1+b1
EOF`
echo "var5=$var5"
exit 0
使用test命令
复制代码 代码如下:
#!/bin/bash
#使用test命令
var1=10
var2=100
if [ $var1 -gt $var2 ]
then
echo "var1 grate var2"
else
echo "var2 grate var1"
fi
#只能比较整数
test_user=hanxi
if [ $USER = $test_user ]
then
echo "Welcome $test_user"
fi
str1=Hanxi
str2=hanxi
if [ $str1 \> $str2 ]
then
echo "$str1 > $str2"
else
echo "$str1 < $str2"
fi
if [ -n $str1 ]
then
echo "The string '$str1' is not empty"
else
echo "the string '$str1' is empty"
fi
#检查文件目录
if [ -d $HOME ]
then
echo "your Home dir exists"
cd $HOME
ls -a
else
echo "there's a problem with your HOME dir"
fi
pwfile=/etc/shadow
if [ -f $pwfile ]
then
if [ -r $pwfile ]
then
tail $pwfile
else
echo "Sorry, I'm unable to reas the $pwfile file "
fi
else
echo "Sorry, the file $pwfile doesn't exist"
fi
if [[ $USER == h* ]]
then
echo "Hello $USER"
else
echo "Sorry, I don't know you"
fi
循环语句
复制代码 代码如下:
#!/bin/bash
for file in /home/hanxi/*
do
if [ -d "$file" ]
then
echo "$file is a directory"
elif [ -f "$file" ]
then
echo "$file is a file"
fi
done
var1=10
while [ $var1 -gt 0 ]
do
echo $var1
var1=$[ $var1 - 1 ]
done
var1=100
until [ $var1 -eq 0 ]
do
echo $var1
var1=$[ $var1 - 25 ]
done
#文件数据的循环
IFSOLD=$IFS
IFS=$'\n'
for entry in `cat /etc/passwd`
do
echo "Values in $entry -"
IFS=:
for value in $entry
do
echo " $value"
done
done | more
for file in /home/hanxi/*
do
if [ -d "$file" ]
then
echo "$file is directory"
elif
echo "$file is a file"
fi
done > output.txt
读取参数
复制代码 代码如下:
#!/bin/bash
name=`basename $0`
echo the commane entered is : $name
c_args=$#
echo count args:$c_args
#取最后一个参数
echo the last parameter is ${!#}
echo all parameter: $*
echo all parameter: $@
count=1
for param in "$@"
do
echo "\$@ parameter #$count = $param"
count=$[ $count + 1 ]
done
#getopts
while getopts :ab:c opt
do
case "$opt" in
a) echo "Found the -a option";;
b) echo "Found the -b option, with value $OPTARG";;
c) echo "Found the -c option";;
*) echo "Unknown option : $opt";;
esac
done
shift $[ $OPTIND - 1 ]
count=1
for param in "$@"
do
echo "Parameter $count: $param"
count=$[ $count + 1 ]
done
read -p "Please enter your age:" age
echo age:$age
if read -t 5 -p "Please enter your name: " name
then
echo "Hellp $name,welcome to my script"
else
echo
echo "sorry ,too slow!"
fi
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y) echo
echo " fine, continue on...";;
N | n) echo
echo OK,Good bye
exit;;
esac
echo "This is the end of the script"
read -s -p "Enter your password: " pass
echo
echo "Is your password really $pass?"
#读取文件
count=1
cat for.txt | while read line
do
echo "Line $count: $line"
count=$[ $count+1 ]
done
echo "Finished processing the file"
重定向文件描述符
复制代码 代码如下:
#!/bin/bash
#永久重定向
exec 9>&2
exec 2>testerror
echo "this will in testerror">&2
exec 2<&9
exec 9<&0
exec 0<testin
count=1
while read line
do
echo "Line #$count:$line"
count=$[ $count + 1 ]
done
exec 0<&9
#重定向文件描述符
exec 3>&1
exec 1>testout
echo "this should store in the output file"
echo "along with this line."
exec 1>&3
echo "Now things should be back to nomarl"
exec 4<&0
exec 0<testin
count=1
while read line
do
echo "Line #$count:$line"
count=$[ $count + 1 ]
done
exec 0<&4
read -p "Are you done now?" answer
case $answer in
Y|y) echo "Goodbye";;
N|n) echo "continue...";
esac
#创建读写文件描述符
exec 8<> testfile
read line <&8
echo "Read:$line"
echo "This is a test line" >&8
#关闭文件描述符
exec 8>&-
#列出文件描述服
#`/usr/sbin/lsof -a -p $$`|more
#禁止命令输出
#2 > /dev/null
#创建本地临时文件
tempfile=`mktemp test.XXXXXX`
exec 4>$tempfile
echo "This is the first line">&3
exec 4>&-
#在/temp中创建临时文件
tmpfile=`mktemp -t tmp.XXXXXX`
echo "The temp file is located at:$tempfile"
cat $tempfile
rm -f $tempfile
#创建临时文件夹
tmpdir=`mktemp -d dir.XXXXXX`
cd $tmpdir
tempfile1=`mktemp temp.XXXXXX`
ls -l
cd ..
#记录消息
a=`date | tee testfile;\
cat testfile;\
date | tee -a testfile;\
cat testfile`
信号处理
复制代码 代码如下:
#!/bin/bash
#信号处理
trap "echo 'get a sign'" SIGINT SIGTERM
trap "echo byebye" EXIT
echo "This is a test program"
count=1
while [ $count -le 10 ]
do
echo "Loop #$count"
sleep 10
count=$[ $count+1 ]
done
echo "This is the end of the test program"
trap - EXIT#移除捕获
#后台牧师运行
#./test6.sh &
#不使用终端的情况下运行脚本
#nohup ./test6.sh &
#查看作业
#jobs
#重新启动作业
#bg 2(作业序号)//后台
#fg 2//前台
#优先级
#nice -n 10 ./test6.sh
#renice 10 -p 25904(进程号)
#预计时间运行at命令
#at -f test6.sh 20:00
#batch命令,系统平均负载低于0.8时运行,可以设定时间,比at命令更好
#corn表格可以设定循环运行,格式:
#min hour dayofmonth month dayofweek command
#每个月第一天运行:
#12 16 * * 1 command
#每个月最后一天运行:
#12 16 * * * if [ `date +%d =d tommorrow` = 01 ] ; then ; command
函数的使用
复制代码 代码如下:
#!/bin/bash
#函数
#使用返回值
function func1
{
read -p "Enter a value: " value
echo $[ $value * 2 ]
}
result=`func1`
echo "the new value is $result"
#传递参数
function func2
{
echo $[ $1+$2 ]
}
result=`func2 2 2`
echo "the new result is $result"
#局部变量, 递归
function func3
{
if [ $1 -eq 1 ]
then
echo 1
else
local temp=$[ $1-1 ]
local result=`func3 $temp`
echo $[ $result*$1 ]
fi
}
read -p "Enter value:" value
result=`func3 $value`
echo "the factorial of $value is: $result"
#调用当前目录下到函数库
#. ./myfuncs
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]