shell脚本

shell脚本配置apt源

末鹿安然 提交于 2020-01-11 17:29:37
#!/bin/bash #MODIFY: if [ `whoami` != "root" ];then echo "This script must be runing as root!!!" exit 71 fi export LC_ALL=en_US.UTF-8 current_dir=$(cd `dirname $0` && pwd) #当前工作目录 cecho(){ echo -e "\033[$1m$2\033[0m" } #配置本地apt源 Conf_Apt(){ [ ! -f ${current_dir}/archives/Packages.gz ] && cecho 31 "${current_dir}没有有效源" && exit 71 [ ! -f /etc/apt/sources.list.save ] && cp /etc/apt/sources.list{,.bak} tee /etc/apt/sources.list << EOF deb file:${current_dir} archives/ EOF apt-get update --allow-insecure-repositories &>/dev/null apt-get install -f &>/dev/null } #配置ubuntu14.04网络源 Conf_Ubuntu14.04(){

Hadoop shell

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-11 09:11:57
常用管理命令 Hadoop管理员的常用命令。 启动Hadoop 进入HADOOP_HOME目录。 执行sh bin/start-all.sh 关闭Hadoop 进入HADOOP_HOME目录。 执行sh bin/stop-all.sh balancer 运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程。参考Rebalancer了解更多。 用法:hadoop balancer [-threshold <threshold>] 命令选项 描述 -threshold <threshold> 磁盘容量的百分比。这会覆盖缺省的阀值。 daemonlog 获取或设置每个守护进程的日志级别。 用法:hadoop daemonlog -getlevel <host:port> <name> 用法:hadoop daemonlog -setlevel <host:port> <name> <level> dfsadmin 运行一个HDFS的dfsadmin客户端。 用法:hadoop dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force

Shell脚本中的break continue exit return

柔情痞子 提交于 2020-01-11 08:33:55
转自:http://www.cnblogs.com/guosj/p/4571239.html break 结束并退出循环 continue 在循环中不执行continue下面的代码,转而进入下一轮循环 exit 退出脚本, 常带一个整数给系统,如 exit 0 return 在函数中将数据返回 或返回一个结果给调用函数的脚本 我理解为:break是立马跳出循环;continue是跳出当前条件循环,继续下一轮条件循环;exit是直接退出整个脚本 例如: 在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。 break命令 break命令允许跳出所有循环(终止执行后面的所有循环)。 下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,需要使用break命令。 复制代码 代码如下: #!/bin/bash while : do echo -n "Input a number between 1 to 5: " read aNum case $aNum in 1|2|3|4|5) echo "Your number is $aNum!" ;; *) echo "You do not select a number between 1 to 5, game is over!"

shell传递参数-$的用法(三)

我只是一个虾纸丫 提交于 2020-01-11 07:27:23
$n:n代表一个数字,指执行脚本的第n个参数。特别地,$0指执行的文件名 [root@ipha-dev71-1 exercise_shell]# cat test.sh #!/bin/bash echo "shell 传递参数实例!" echo "执行的文件名:$0"; echo "第一个参数为:$1"; echo "第二个参数为:$2"; echo "第三个参数为:$3"; [root@ipha-dev71-1 exercise_shell]# ./test.sh 1 2 3 shell 传递参数实例! 执行的文件名:./test.sh 第一个参数为:1 第二个参数为:2 第三个参数为:3 $#:传递到脚本的参数个数 $*:以一个单字符串显示所有向脚本传递的参数 如 $1 $2 … $n [root@ipha-dev71-1 exercise_shell]# cat test.sh #!/bin/bash echo "shell 传递参数实例!" echo "第一个参数为:$1"; echo "参数个数为:$#"; echo "第二个参数为:$2"; echo "传递的参数作为一个字符串显示:$*"; [root@ipha-dev71-1 exercise_shell]# ./test.sh 1 2 3 shell 传递参数实例! 第一个参数为:1 参数个数为:3 第二个参数为

shell内建命令--Linux

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-11 06:50:16
exec命令()取代当前shell find ./ -name "*.txt" -exec ls -al {} \; find ./ -name "*.txt" -exec rm -rf {} \; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-asuNPUtM-1577971154085)(en-resource://database/3994:1)] export 使变量都能被子shell识别 majun@instance-zqtg07w6:~$ cat export.sh #!/bin/bash echo $var majun@instance-zqtg07w6:~$ bash export.sh #输出空白 majun@instance-zqtg07w6:~$ var = 100 majun@instance-zqtg07w6:~$ bash export.sh #输出空白 majun@instance-zqtg07w6:~$ export var = 100 majun@instance-zqtg07w6:~$ bash export.sh 100 kill命令(常用) #kill的信号代码有很多种,常用的三种 1 ( 原地重启 ) 、9(强行杀掉)、15(正常结束) kill -9 2935 kill -1 2915 kill -15

python入门

别说谁变了你拦得住时间么 提交于 2020-01-11 04:59:07
python的发展背景   Python的作者,Guido von Rossum(吉多·范·罗苏姆,中国Python程序员都叫他 龟叔),荷兰人。1982年,龟叔从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,虽然拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的事情。   在那个时候,龟叔接触并使用过诸如汇编语言、C等编程语言。这些语言的基本设计原则都是让机器能更快运行。在80年代,虽然IBM和苹果已经掀起了个人电脑浪潮,但这些个人电脑的配置很低,一个大的数组就能占满内存。所有的编译器的核心是做优化,以便让程序能够运行。 python发展背景续   这种编程方式让龟叔感到苦恼。龟叔知道如何用C语言写出一个功能,但整个编写过程需要耗费大量的时间,即使他已经准确的知道了如何实现。他的另一个选择是shell。Bourne Shell作为UNIX系统的解释器已经长期存在。UNIX的管理员们常常用shell去写一些简单的脚本,以进行一些系统维护的工作,比如定期备份、文件系统管理等等。shell可以像胶水一样,将UNIX下的许多功能连接在一起。许多C语言下上百行的程序,在shell下只用几行就可以完成。然而,shell的本质是调用命令。它并不是一个真正的语言。比如说

shell脚本

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-11 02:38:15
判断脚本:本例要求在虚拟机 server0 上创建 /root/foo.sh 脚本,任务目标如下 1)当运行/root/foo.sh redhat,输出为fedora 2)当运行/root/foo.sh fedora,输出为redhat 3)当没有任何参数或者参数不是 redhat 或者 fedora时,其错误输出产生以下信息: /root/foo.sh redhat|fedora #!/bin/bash #注释 if [ $ # -eq 0 ] ;then echo '/root/foo.sh redhat|fedora' > & 2 exit 1 elif [ $1 = redhat ] ; then echo 'fedora' elif [ $1 = fedora ] ; then echo 'redhat' else echo '/root/foo.sh redhat|fedora' > & 2 exit 2 fi 批量添加用户脚本:本例要求在虚拟机 server0 上创建 /root/batchusers 脚本,任务目标如下 1)此脚本要求提供用户名列表文件作为参数 2)如果没有提供参数,此脚本应该给出提示 Usage: /root/batchusers,退出并返回相应值 3)如果提供一个不存在的文件,此脚本应该给出提示 Input file not found

bash shell-linux的预设shell

ε祈祈猫儿з 提交于 2020-01-10 19:37:00
1.bash 是GNU 计划中重要的工具软件之一,目前也是Linux distributions 的标准shell。其主要功能如下: (1)命令记忆和历史功能,可以通过history查询,存储位置在~/.bash_history (2)命令和文件补全功能,按tab键 (3)给命令取一个别名:alias (4)工作控制、前景背景控制job control, foreground, background (5)(程序化脚本: (shell scripts)) 以前在DOS 底下需要程序语言才能写的东西,在Linux 底下使用简单的shell scripts 就 可以帮你达成 (6)通配符Wildcard,*就是其中一个 2.查询指令是否为Bash shell 的内建命令: type type [-tpa] name 选项与参数: :不加任何选项与参数时,type 会显示出 name 是外部指令还是 bash 内建指令 -t :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他的意义: file :表示为外部指令; alias :表示该指令为命令别名所设定的名称; builtin :表示该指令为 bash 内建的指令功能; -p :如果后面接的 name 为外部指令时,才会显示完整文件名; -a :会由 PATH 变量定义的路径中,将所有含 name 的指令都列出来

linux shell 基础语法A-1

巧了我就是萌 提交于 2020-01-10 18:40:42
从echo开始 echo可以看做print printf之类的东西。几乎所有的shell脚本都离不开echo。 echo有如下几个作用: (1)输出脚本执行流程的提示信息 (2)交互式脚本打印提示信息 (3)构建格式化的日志 (4)调试脚本时,可以用来打印出一些中间变量的值(当然也可以用bash +x调试执行脚本) 常用的option -n:不换行打印 -e:识别转移字符(如\t) 许多脚本的usage就是echo来实现的(cmd -h or cmd --help)。 变量 变量分类:一般在shell中分为环境变量,用户变量,位置变量等的特殊变量三大类。shell是一种弱类型语言(强类型语言c,变量定义后要强制变换才能使用另一种变量类型,而shell不关心,变量的类型依据使用环境自己变化)。 但我们还是可以把shell中使用变量分为几个场景: (1)字符串 root@ubuntu-jpk:~# echo "hello world" hello world (2)数值 root@ubuntu-jpk:~# a=1 root@ubuntu-jpk:~# b=2 root@ubuntu-jpk:~# c=$((a+b)) root@ubuntu-jpk:~# echo $c 3 (3)一维数组(列表) root@ubuntu-jpk:~# list=(China America

linux shell 基础语法A-2

不问归期 提交于 2020-01-10 18:39:30
A-1讲了一些基本的语法,A2部分继续上次的内容接着讲。 shell是一门编程语言,自然也有结构化的表示方法。常见的编程语言结构化就是判断和循环。shell中的判断分为3类:数值判断,字符判断,文件判断。 判断的几种形式 If command Then command Fi If command Then command Else command Fi If command Then command Elif command Then command Else command fi (1)数字判断 实例:简单的猜数字 (2)字符判断 实例:判断输入的选项 (3)文件判断 实例:创建log文件前检查目标路径是否存在 #!/bin/bash if [ ! -d /mnt/123testlog/2019-08-31 ] then mkdir -p /mnt/123testlog/2019-09-31 fi 还需要关注 If test xxxx的用法 对参数值得判断处理 复合条件判断 If [] && [] If [] || [] 双括号 --双圆括号(数学表达式高级功能) --双方括号(字符串高级功能) 多选择判断时使用if结构就比较繁琐了,采用case更佳 Case Case xxx in p1) cmd ;; p2) cmd ;; *) default cmd ;; Esac