iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >shell脚本学习与总结
  • 407
分享到

shell脚本学习与总结

脚本shell 2022-06-04 21:06:17 407人浏览 薄情痞子
摘要

1.shell 脚本是区分小写的2.Unix特殊字符有: ( ; $ ? & * () [] ` ‘ “ + 使用其时要进行转义()3.Shell的注释以#开头4.函数的定义Function fuction

1.shell 脚本是区分小写的
2.Unix特殊字符有: ( ; $ ? & * () [] ` ‘ “ + 使用其时要进行转义()
3.Shell的注释以#开头
4.函数的定义
Function fuction_name(){
Command to execute
}
调用时直接用function_name.
5.控制结构
1)If...then语句
If [ test_command ]
Then
Commands
if
2)If...then...else语句
If [ test_command ]
Then
Commands
Else
commands
if
3)If...then...elif...then...(else)语句
If [ test_command ]
Then
Commands
Elif [ test_command ]
Then
Commands
Else
Commands
Fi
4)for ... In语句
For loop_varible in argument_list
Do
Commands
done
5)while语句
While test_command_is_true
Do
Commands
Done
6)until 语句
Until test_command_is_true
Do
Commands
Done
7)case语句
Case $variable in
Match_1)
Commands_for_1

Match_2)
Commands_for_2

.
.
.
*) #option for other values
Commands_for_no_match

esac
6.break、continue、exit和return语句
Break跳出整个循环体,然后执行循环体外接下来的代码;
Continue 结束本次循环,继续下次循环;
Exit 退出整个脚本,一般在其后加入一个整数(如exit 0),作为返回代码发送给系统;
Return 用于在函数中返回数据,或返回一个结果给调用函数
7.here文档
用于将输入重定向到某个交互式shell脚本或程序,而不需要用户介入。
Program_name << LABLE
Program_input_1
Program_input_2
.
.
Program_input_#
LABLE
注意,程序输入行中的LABLE标记之间是没有空白的,且输入的必须是程序所期望的准确数据,否则可能会失效。
8.符号命令
( )  在一个子shell中运行括号所括起来的命令
(( )) 在某个shell中对变量进行求值和赋值,并进行数学运算
$(( )) 对括起来的表达式进行求值
[ ] 与test命令相同
[[ ]] 用于字符串比较
$( ) 命令替换
` ` 命令替换
9.命令行参数
命令行参数$0,$1,$2,...,$9是位置参数,$0指向的是命令本身。
命令shift用于位置参数向左移动,如shift命令命令$2成为$1。Shift加入一个数字来移动多个位置,如shift 3使得$4成为$1。shift是一种按照参数列出顺序来处理每个位置参数的良好方式。
10.特殊参数
$* 指定所有的命令行参数,与$@的意义一样。两者只有在加双引号时意义不同,如
“$*”将整个参数列表作为一个参数来获取,”$@”获取整个参数列表,并将它分隔成不同的参数。
$? 检查返回代码。一个成功执行完的命令返回代码为0,不成功是一个非0值。
11.双引号,单引号和 `(esc下面的按键)
单引号''对内容进行全引用,也就是说,对变量工命令语句使用文字正文,不进行任何替换;而双引号则进行部分引用,则允许字符替换或命令替换。
`(esc下面的按键)用于执行某个命令或脚本并替换其输出结果,即命令替换,相同功能有$( )。此外,如果希望每次使用某个变量时重新读取它的值,也可使用它,如`$PWD`,则每次使用这个变量时都会重新读取它的新值。
12.文件权限和粘滞位(suid,sgid)
文件权限有读,写,执行三种权限。将文件操作模式设为总是作为某个特定的用户(suid),或总是作为某个特定的组成员(sgid)来执行称为设置粘滞位。可以用命令chmod进行修改文件权限。
13.在远程主机上运行命令
ssh user@hostname command_to_execute
如:ssh jack@192.168.1.3 “uptime”
14.设置陷阱
当某个程序被迫中止时,会有一个退出信号,这个信号称为一个陷阱(trap)。这样我们可以在捕捉到退出信号时执行命令,如捕获到退出信号1,2,3,15时退出:
Trap `echo “nEXITTING on a TRAPPED SINGAL”; exit` 1 2 3 15
注意不能捕获到kill -9.的退出信号。
15.查看用户信息
Who 提供每个登录用户的用户名、tty、登录时间及用户登录地(IP)
W 对who的扩展,包括作业进程时间,总用户进程时间等,但没有用户登录地信息。
Last 显示自wtmp文件创建开始登录过的用户名单信息,包括登录时间,退出时间,tty等。
16.ps命令
显示当前系统进程的信息。
17.与用户通信
Wall,rwall,write,talk
18.大小写文本
用tr或typeset命令。
VALUES = “AFCDLD”
Echo $VALUES | tr ‘[A-Z]' ‘[a-z]' #将大写转换成小写;tr ‘[a-z]' ‘[A-Z]'则小写转换成大写

在VALUES前使用
Typeset -l VALUES #将大写转换成小写;typeset -u 则小写转换成大写。
19.定时运行脚本cron
Crontab -e进入用户cron表添加定时脚本,如
在1月15日星期天0:12执行脚本/usr/bin/test.sh
#分(0-59) 时(0-23)日(1-31) 月(1-12) 星期(0-6for Sunday-saturday) 
12 0 15 1 0 /usr/bin/test.sh
定时任务还可作用at命令。
20.输出控制
静默运行,即不输出任何内容到屏幕上: 2>&1 > /dev/null
输出到系统指定的控制台: > /dev/console
21.解析命令行参数getopts
Getopts optionstring VARIABLE
Optionstring 是所需的各种参数,用冒号隔开,如果不需要参数,则冒号可以省略。如果optionstring前有一个冒号,则任何未匹配到时会在VARIBLE中加载一个?号
使用getopts的作用是解析出参数,然后作用此参数做不同的操作。如:
While getopts :s:m:h:d:p: TM
Do
Case $TM in
S)
Do something

M)
Do something

.
.
.
?)
Exit 1

Esac
22.逐行处理文件
While read LINE
Do
Echo “$LINE”
Done <$FILENAME
23.作用select命令创建菜单
Select menu in Yes No Quit
Do
Case $menu in
Yes)
Do something

No)
Do something

Quit)
Break

*)
Do something

Esac
done

shell脚本学习

1,设置运行环境

在脚本的顶部写入:#!/bin/bash2,SHELL中变量与赋值str=hello
linux中变量不需定义,要用时直接赋值使用。如:str,注意等号两边不能有空格str=`ls -l /tmp/sh` 如果要把某个命令的执行结果赋给某个变量时,=号右边要用``括起来
echo "$str"
查看变量的值,此处结果为:hello3,从键盘输入字符或数值赋给指定的变量read name 如:从键盘输入lishi,则name的值为:lishi4,"",'',``双引号,单引号,倒引号之间区别
echo "my name is $name"
显示字符串,但含有转义字符引用其变量的值。例中结果:my name is tom
echo 'my name is $name'
把单引号中的内容原样显示出来,结果:my name is $name
echo `ls -l`
把倒引号中字符当作命令来执行,并把执行结果显示出来。5,加,减,乖,除,求模运算。注意要用倒引号括起来
expr `5 + 4`
expr `5 - 4`
expr `5 * 4`
expr `5 / 4`
expr `5 % 4`
如果是在脚本里面进行运算时,倒引号要包括=号右边全部内容。如:sum=0sum=`expr $sum + 1`6,对文本操作的命令

less 能上下翻
more 能一屏一屏的翻
head 看文本的头10行 参数-n 5 表示只显示头5行
tail 看文本的尾10行,加 -f参数,能实时看日志文件的变化。如看Tomcat日志文件变化。tail -f /usr/tomcat/logs/canitsl.out

参数-n 5 表示只显示头5行7,$?表示上一个命令是否正确执行,0表示正常,1表示错误
ls /tmp/hello,如果/tmp/下没有hello这个文件或目录。则$?为1,反之为08,./test lishi wangwu
$0程序名,$1第一个参数的名称,例中$0为test
$*参数组成的字符串,例中$*为lishiwangwu
$#传递给程序参数的总数目,例中$#为29,linux中变量分为全局环境变量和用户配置变量
全局环境变量针对系统中所有用户而设置的工作环境目录,在/etc/profile中
用户配置变量针对某一用户的。在用户登录的目录下,.bash_profile中10,重定向重定向就是改变原来输入输出的方向,默认都是屏幕输出设备,键盘是输入设备。“>”是输出重定向符。“<”是输入重定向符。“>”只存放正确的信息,“2>”存放错误的信息,每次存入前都会把之前文件内容清空再放入如:ls /usr > /tmp/aaa 把/usr目录下的所有文件和文件夹名称信息放到期/tmp/aaa文件中。
如:ls /test 2> /tmp/aaa 如果没有/test文件夹,这时就会发生错误,那么2>就会把错误信息存入aaa文件中。
“>”能创建新文件,如:>hello.java
“>”能清空一个文件 如hello.java文件中有内容,我再>hello.java这时,hello.java内容清空“>>”双大于号在一起就变成了追加功能,在之前的文件内容后面追加内容。如:cat /tmp/sh >> /tmp/aaa 把/tmp/sh目录中的所有文件和目录信息追加到aaa文件中。aaa文件之前的内容不会被清除。cat > hello.java时,能在屏幕上输入很多的内容,按ctrl+D时就会退出。再cat hello.java时
刚才输入的内容,全在hello.java文件中11,输入重定向如:cat > a.txt <<EEE,从屏幕上输入内容到a.txt中,直到输入EEE时才结束!!!!像这种结合方式,经常被用在自动执行记录某些日志,或者写入信息时用到。

SYSPROFILE=/etc/profilecat >> $SYSPROFILE <<EOF
export JAVA_HOME=/usr/java/jsdk
export JAVA_OPTS="-Xms64m -Xmx768m"
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin::$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EOF12,管道管道:把前一个命令的输出作为下一个命令的输入。顾名思义就是连接前后两个管道的作用。
把上一个管道的尾与下一个管道的头相连接。ls -l /tmp/test | wc -l 统计/tmp/test目录中共有多少个文件和目录。把/tmp/test目录中文件和目录按列显示。并把显示出来的结果作为wc -l命令的信息源。13,条件判断语句字符串比较:=,!=,-n:判断字符串长度是否大于0,大于0则为真,-z:判断字符串长度是否等于0,等于0则为真
数字比较:-eq相等, -ge大于等于,-le小于等于,-ne不等于,-gt大于,-lt小于
逻辑判断:!非,&&与,||或
文件判断:-d目录判断,-f文件判断,-r可读,-w可写,-x可执行test 条件1 比较符 条件2 如:test 1 -eq 1
[ 条件1 比较符 条件2 ] 如:[1 -eq 1 ],[ -n "" ]
[ `who | wc -l` -le 10 ]&& echo "YES" 判断当前系统的登录用户数是否小于等于10,是,则输出YES

16,循环语句:

while 条件为真时,执行
do
..
done例:j=1
while((j<=10)) 或者while [ j -le 10 ]
do
echo "j=$j"
j=`expr $j + 1
done if语句:
if
then
else 此处也可elif与fi再嵌套
fi 例:x=4;y=7if [ $x -eq $y ]
then
echo "相等"
else
echo "不相等"
fi case 变量 in
数值1) 语句 ;;
数值2) 语句 ;;
*) 语句 ;; #如果数值不在范围之中,就执行这一行例:USER=whoamicase $USER in
lishi)
echo "you are LISHI";
echo "Welcome ";;
root)
echo "you are ROOT"
echo "hi root ";;
admin)
echo "you are admin";
echo "admin,hello ";;*)echo "当前用户不是lishi,root,admin";;
esac for 循环例:用FOR循环显示/tmp/sh目录中的每个文件信息。变量i的取值是/tmp/sh目录中的每个文件如for i in "a" "b" "c",此时变量i每次循环的取值为a,b,cpath=/tmp/sh/
for i in `ls $path`
do
ls -l $i
done例:#用for与if相结合的手法,显示出从1到键盘输入数之间的偶数
#注意if语句的双括号read x
for((i=1;i<=$x;i++))
do
if [ $i % 2 == 0 ]
then
echo "$i"
fi
done14,函数# 定义一个累加的函数sum, 再从键盘上输入两个数,再调用sum函数
# 注意,函数一定要放在调用该函数的前面sum()
{
a=$x
b=$y
total=`expr $a + $b`
echo "total = $total"
}echo "please enter two number:"
read x
read y
sum $x,$y
shell start:

shell有bsh,bash,cash等

1,在linux中管理员用户登录进去时,提示符为:#,一般用户登录进去时的提示符为:$
登录进去后,退出或要切换用户时,用:exit命令,正常退出。
2,查看当前系统中的shell版本,在/etc/shell目录中查看。
3,在系统中查看不同用户默认的shell版本,/etc/passwd 查看当前用户的shell,echo shell
4,直接用命令改变某个用户的shell环境:chsh 系统用户名,根据提示输入新shell路经,如:/bin/bash
5,查看当前用户的环境变量和ID号,set | grep user,set | grep uid 或,查看/etc/passwd文件
6,查看某个命令在哪个位置 which 命令 如:which ifconfig 当某些一般用户中有些命令提示无法找到
或执行时,一般是环境变量中没有把该命令的路经加进来。用export命令设置环境变量
7,查看以前使用过的命令 history history -c清除之前使用过的命令
8,;在shell中用来区分一个命令的结束。一行中可以多个命令
9,调试shell脚本用. 脚本文件名 或 bash 脚本文件名
10,文件权限分三类:
a,文件属主:创建该文件的用户
b,同组用户:拥有该文件的用户组中的任何用户
c,其它用户:即不属于拥有该文件的用户组的某一用户
如:-rwxr-xr-x 1 root root 217 08-10 19:51 test1.sh
第一个字符表示文件的类型,是文件夹,还是普通文件 例中-表示普通文件
后面的9个字符分三段,第一段是文件属主的权限
第二段是同组用户的权限,第三段是其它用户的权限
赋权限:g是代表同组用户,o是代表其它用户
chmod Go+wx ./test.sh 给同组用户和其它用户赋写和执行的权限
chmod u+wr ./test.sh 给自己赋读和写权限
chmod o+wrx ./test.sh 给其它用户赋读,写和执行的权限
去权限与赋权限同理,只是把“+”换成“-”就可以了
chmod go-rw ./b.c 把同组用户和其它用户读和写的权限去除

11,一般权限也可以用数字表示:4:读,2:写,1:执行,
如果用数字给某一个文件赋权限,要写3段数字,如:764,则表示
用户自己是读写执行,同组用户是读写,其它用户是读的权限。
12,给文件和文件夹赋权限时,两者互不干扰,除非在给文件夹赋权限时带-R参数
那么,该文件夹下的所有内容就赋予了和文件夹一样的权限了,小心使用-R
13,查看文件夹权限时,用:ll -d /tmp/sh -d是查看文件夹的,不然只会
列出该文件夹的内容了。

14,改变文件的所属用户,chown oracle /tmp/sh/api.sh
改变文件的所属组,chown :oracle /tmp/sh/api.sh
同时,改变文件的所属用户和组,chown oracle:dba /tmp/sh/api.sh 那么api.sh的所属用户和组信息为:
-rwxrwxr-x 1 oracle dba 264 07-28 15:57 /tmp/sh/api.sh
15,id 命令,查看当前是哪个用户,以及哪个组的相当信息
16,groups 查看系统当前有多少个组,groups 用户名 如:groups oracle,查看用户所属组
17,getent group 组名 如:getent group dba 查看dba组中有哪些用户
18,创建一个用户并把它加入到指定组中 useradd wanGCai -G root

19,当一个脚本需要以拥有者或组的用户执行时,需要用到suid,guid
文件设置了suid或guid时,如果该文件没有执行权限,那么设置suid或guid时就没有意思,会用大写"S"
表示。4代表suid,2代表guid
如:start-orcl.sh 例子,首先用chown改变文件所属用户,再用chmod改变文件suid和guid的权限
-rwxr-xr-x 1 root root 632 08-15 17:31 start-orcl.sh
chown oracle start-orcl.sh
-rwxr-xr-x 1 oracle root 632 08-15 17:31 start-orcl.sh
chmod 6751 start-orcl.sh
-rwsr-s--x 1 oracle root 632 08-15 17:31 start-orcl.sh

20,用指定的用户身份执行一个脚本 su - oracle -c "/tmp/sh/start-orcl.sh"
以oracle的身份执行start-orcl.sh这个脚本
21,创建快捷方式 ln -s /tmp/sh 1 创建快捷方式1指向/tmp/sh,访问1相当于访问/tmp/sh一样。
22,定时任务:
用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它。
基本用法:
crontab -l
列出当前的crontab任务
crontab -d
删除当前的crontab任务
crontab -e (solaris5.8上面是 crontab -r)
编辑一个crontab任务,ctrl_D结束
crontab filename
crontab的格式为:分 时 日 月 星期 命令(中间用空格隔开)。
crontab文件的条目是从左边读起的,第一列是分,以此类推,最后一列是需要执行的命令。
每一列称为crontab的一个域,在这些域中,可以用-来连接一个时间范围,例如星期一到星期五,可以用1-5来表示。
单个时间点可以用,号分隔,比如星期一和星期四,那么可以表示为1,4。如果某个表示时间的域没有特别限制,可以用*号表示。每一个时间条目包含5个域,用空格隔开。
比如我希望每天晚上21:30运行bin目录下的cleanup.sh文件,那么该命令就应该为:
30 21 * * * /app/bin/cleanup.sh (注意:由于不需要限定日期、月份、星期,所以日期、月份和星期域用*号表示)
比如我希望每月得1、10、20的00:00运行backup.sh文件,那么命令应该为:
00 00 1,10,20 * * /app/bin/backup.sh (注意:由于不需要限定月份和星期,所以月份和星期域用*号表示)
#每两个小时
0 */2 * * * date
crontab -e 然后在打开的文件中编辑内容,如:0 */2 * * * date,保存退出。
也可以把如: 0 */2 * * * date的内容,放到一个filename文件中,再用crontab filename
把内容加到crontab中,这时用crontab -l也可以看到filename文件中的内容。
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。
也要重新启动cron服务器,/etc/init.d/crond restart 。编辑/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。
需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上
service crond start
如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。
比如: service Mysqld start

shell脚本学习小结

1.字符截断:

如果是一般路径的字符截断可以用basename 和dirname 这两个工具
basename 可以从一个文件路径中截一个文件名
例如:
$ basename /home/file.tar
file.tar
dirname 可以从一个文件路径中截到一个目录路径
例如:
$ dirname /home/file.tar
/home
不使用外部工具进行字符截断
bash 有自带的功能来对变量进行字符截断,一般使用"##","#","%%","%","*" 组
合来实现。例如:


$ string=hellowbashshell
$ echo ${string##*sh}
ell
$ echo ${string#*sh}
shell
$ echo ${string%%sh*}
hellowba

----------------------- Page 2-----------------------
$ echo ${string%sh*}
hellowbash
"#"表示从字符开始部分除去,一旦匹配则立即除去
"##"表示从字符开始部分除去,会搜整个字符串最长的和的匹配来除去
"%"表示从字符结束的部分除去,一旦匹配成公则立即除去
"%%"表示从字符结束的部分开始除去,会搜寻整个字符穿中最长的匹配来除去
"*"统配符,一般与“##”或"#"联用时放在搜索字符串的左边,例如:${String#*sh}(在sh 的左
边),与"%%"或"%"联用时会放在匹配字符串的右边,例如:${String%%sh*}
常用技巧:
在路径中取文件名:${path##*/} (与basename 相同功能)
在路径中取目录路径:${path%/*}(与dirname 相同功能)
取文件的扩展名:${path##*.}
2. 自变量的接收
接收来自命令行传入的参数,第一个参数用$1 表示,第二个参数$2 表示,。。。以此类推。
注意:$0 表示脚本文件名。另外一个在shell 编程中经常用到的是“$@”这个代表所有的参
数,。你可以用一个循环来遍历这个参数。如果用java 来类比的话,可以把$@看作是man
函数中定义的那个数组
3.if 语句:
格式:
if [ condition ]
then
action
fi
注意:“if”和“[”之间需要空格,如果你不空格,shell会报告语法错
误的。我就被这个浪费了好一阵时间
----------------------- Page 3-----------------------
conditon 测试类型对照表
运算符 描述 示例
文件比较运算符
-e filename 如果filename 存在,则为真 [ -e /var/log/syslog ]
-d filename 如果filename 为目录,则为真[ -d /tmp/mydir ]
-f filename 如果filename 为常规文件,则[ -f /usr/bin/grep ]
为真
-L filename 如果filename 为符号链接,则[ -L /usr/bin/grep ]
为真
-r filename 如果filename 可读,则为真 [ -r /var/log/syslog ]
-w filename 如果filename 可写,则为真 [ -w /var/mytmp.txt ]
-x filename 如果filename 可执行,则为真[ -L /usr/bin/grep ]
filename1-nt 如果filename1 比filename2 [ /tmp/install/etc/services -nt
filename2 新,则为真 /etc/services ]
filename1-ot 如果filename1 比filename2 [ /boot/bzImage -ot
filename2 旧,则为真 arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string 如果string 长度为零,则为真 [ -z "$myvar" ]
-n string 如果string 长度非零,则为真 [ -n "$myvar" ]
string1= string2 如果string1 与string2 相同,[ "$myvar" = "one two three" ]
则为真
string1!= string2 如果string1 与string2 不同,[ "$myvar" != "one two three" ]
则为真
算术比较运算符
num1-eq num2 等于 [ 3 -eq $mynum ]
num1-ne num2 不等于 [ 3 -ne $mynum ]
num1-lt num2 小于 [ 3 -lt $mynum ]
num1-le num2 小于或等于 [ 3 -le $mynum ]
num1-gt num2 大于 [ 3 -gt $mynum ]
num1-ge num2 大于或等于 [ 3 -ge $mynum ]
感觉bash 中的if 相比其他的一些语言智能多了,在bash 中,测试一个文件的存在跟比较
两个数字的大小没有什么两样 ;)
----------------------- Page 4-----------------------
4.for 语句
bash 里的语句总是那么的人性化,十分的接近自然语言,在for 语句中几乎可以
迭代任何类似与集合的数据类型(或许这样个说法不对,但我确实想不到更好的
词来代替)。
看一个例子:
#!/bin/bash
for args in $@
do
echo $args
done
把上面这段代码录入保存为showargs.sh 设置为可执行(chmod +x showargs.sh)
执行:
$ ./showargs.sh arg1 arg2 arg3 arg4
arg1
arg2
arg3
arg4
这个例子中,我们用到了之“$@”,它代表了所有的命令行参数。在这里用for
对其进行遍历,系统迭代地从$@中取出命令行参数把他放到args 中,最后使用
echo $args 进行输出。
for 更经常用到的是遍历目录,下面的例子用于列出当前目录下的所有文件和文
件夹的名称

$ for file in *
> do
> echo $file
> done

这里用*代表当前目录,列出的是所有的文件和文件夹的名称,在这里,文件夹
和文件你是分不出来的,如果你需要,你应该用if [-d ${file}]来做一下判断。
----------------------- Page 5-----------------------
对于文件遍历,更有趣的是,你可以在 “in” 后面接上多个表达式。也就是说,
你可以一次在遍历多个目录。
下面这段代码能把当前目录下go 文件夹和do 文件夹里的文件复制到fo 文件夹


#!/bin/bash
for args in ./go/* ./do/*
do
cp ${args} ./fo
echo "copying ${args} to ./fo/${args}"
done

--结束END--

本文标题: shell脚本学习与总结

本文链接: https://www.lsjlt.com/news/18159.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux shell脚本学习指南
    从头一来二去阅读语法和命令说明,对于脚本小白来说比较枯燥,难以坚持,所以这里选择对一份完整的shell脚本代码来逐行逐段解读,希望可以渡一渡小白,帮助我们快速进入脚本的大门。 老司机...
    99+
    2024-04-02
  • Shell和Python学习教程总结
    博友们好,由于运维相关技术不断发展,个人能力也不断提高,日常积累的经验不能及时更新到以往的博文中。因此,为了更好的帮助大家学习运维技术,特地针对Shell和Python脚本语言总结了文档,此文档会不定期修改或增加知识点。 下载地址:百度云盘...
    99+
    2023-01-31
    教程 Shell Python
  • urllib与urllib2的学习总结(
    先啰嗦一句,我使用的版本是python2.7,没有使用3.X的原因是我觉得2.7的扩展比较多,且较之前的版本变化不大,使用顺手。3.X简直就是革命性的变化,用的蹩手。3.x的版本urllib与urllib2已经合并为一个urllib库,学着...
    99+
    2023-01-31
    urllib
  • Shell脚本中的数组用法总结
    这篇文章主要讲解了“Shell脚本中的数组用法总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本中的数组用法总结”吧!1、怎么声明一个数组变量?直接赋值:代码如下:array[...
    99+
    2023-06-09
  • Linux下一些常用的Shell脚本总结
    这篇文章主要介绍“Linux下一些常用的Shell脚本总结”,在日常操作中,相信很多人在Linux下一些常用的Shell脚本总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下一些常用的Shell脚...
    99+
    2023-06-09
  • Shell脚本字符串截取方法总结
    本篇内容介绍了“Shell脚本字符串截取方法总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!假设有变量 var=http://www.aa...
    99+
    2023-06-09
  • mysqlimport学习总结
    原文链接: https://www.modb.pro/db/23208xy 摘要:mysqlimport是MySQL数据库提供的一个命令行程序,可用于数据导入。...
    99+
    2024-04-02
  • WorkFlow学习总结
     最近在工作中要实现一种“流程审批”的功能,查阅资料得知,workFlow技术可以满足我的需求,于是就开始沉下心来好好学习一下这门技术。总结的学习资料也拿出来和大家共享一下。  什么是工作流: 工作流...
    99+
    2023-06-05
  • Python学习之shell脚本的使用详解
    目录一、sh是什么二、使用步骤1.安装2.使用示例3.使用sh执行命令4.关键字参数5.查找命令6.Baking参数一、sh是什么 SH是一个独特的子进程包装器,可将您的系统程序动态...
    99+
    2023-05-17
    Python使用shell脚本 Python shell脚本 Python shell
  • PyTorch学习之软件准备与基本操作总结
    目录一、概述二、工具准备三、conda命令四、PyTorch的安装五、Jupyter修改默认路径一、概述 PyTorch可以认为是一个Python库,可以像NumPy、Pandas一...
    99+
    2024-04-02
  • python学习总结-----pytho
    一、python简介    python 是一种面向对象、解释性的脚本语言,遵循 GPL 协议。语法简单、社区强大、丰富的库支持。又被称为“胶水语言”。能把其他语言(主要C/C++)写的模块很轻松的结合在一起。二、python 安装 win...
    99+
    2023-01-31
    python pytho
  • python 学习总结2
    温度转换问题 一、温度转换   目前有两种表示温度的方法一种是摄氏度另一种是华氏度,摄氏度的结冰点为0度,沸点为100度将温度等分刻画,华氏度的结冰点为32度,沸点为212度将温度进行等刻度划分。   现需要将按格式输入的摄氏度转换为华氏...
    99+
    2023-01-30
    python
  • python 学习总结1
    计算机与程序设计 一、计算机的概念   1.计算机是根据指令操作数据的设备。   2.计算机主要包括两个功能性一个是功能性另一个是计算性   功能性是对数据的操作,表现为数据计算,输入输出处理和结果存储   可编程性是根据一系列指令自动的...
    99+
    2023-01-30
    python
  • python 学习总结5
    字符串类型及操作 一、字符串类型的表示   (1)字符串:由0个或多个字符组成的有序字符序列     例如:“请输入带有符号的温度值” 或者‘c’都是字符串   (2)字符串是字符的有序序列,可以对其中的字符进行索引     例如:“请”...
    99+
    2023-01-30
    python
  • Python学习总结__Day1
    一、Python是一门什么类型语言 1、解释型:一边编译一边执行,劣势是运行速度慢,但通过运用PyPy交互解释器(JIT技术)会让python程序执行速度快很多。优势是可移植性强。 2、强类型:即类型安全类型。除非通过强制转换,否则变量类...
    99+
    2023-01-31
    Python
  • python 学习总结3
    Python蟒蛇绘制 一、实现程序如下 1 import turtle 2 turtle.setup (650, 350, 200, 200)#turtle的绘图窗体turtle.setup(width, height, start...
    99+
    2023-01-30
    python
  • python 学习总结4
    数字类型及操作 一、整数类型   (1)python中的整数与数学中的概念是一致的,可以正也可以负,没有取值范围。        pow(x,y)函数是计算x的y次幂,想计算多大就多大。   (2)在整数类型中有四种进制形式      十...
    99+
    2023-01-30
    python
  • 函数学习总结
    定义 自己总结:就相当于现实中各种用途的工具,有着对数据进行各种处理的功能(实质就是比较复杂的变量?!) 分类  自定义函数和Python语言已经定义过的常用的内置函数 自定义函数的组成部分 def 函数名(参数1,参数2...): '...
    99+
    2023-01-31
    函数
  • BGP学习 总结3
      BGP DECISION PROCESS 1 largest weight ( local orininated path :32768 other 0 ) 2 largest local-preefernce (BGP default...
    99+
    2023-01-31
    BGP
  • Java构造器与传值学习总结
    本文主要学习Java构造器与传值,供大家参考,具体内容如下 构造器 构造器介绍 构造器是Java学习中一个很重要的概念,每个类的对象在使用关键字new实例化的时候,Java虚拟机都会...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作