首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Article

    bash 脚本 learning

    linux bash 脚本是个好东西,能用工具搞定的就尽量避免用手敲。这里记录下学习过程中的问题。 1、bash: . dos 或 fileformat=unix 利用如下命令修改文件格式 :set ff=unix 或 :set fileformat=unix :wq (存盘退出) 最后再执行文件 2、shell脚本数组报错 /bin/bash 就ok了

    83810编辑于 2022-06-14
  • 来自专栏友弟技术工作室

    bash脚本编程

    :脚本解释器 编程能力: 脚本编程 变量:内存空间,命名的内存空间(可以回收) 内存:编址的存储单元 进程:临时存储数据要用到变量 映射表:变量名和物理地址的映射 变量类型: 事先确定数据的存储格式和长度 /bin/bash(可执行程序的路径) #:注释行,不执行 chmod +x *.sh ./*.sh(独立执行) bash *.sh (可以没有执行权限) 练习:写一个脚本: 1.添加5个用户, else statement4 .... fi 测试脚本是否有语法错误: bash -n file.sh bash -x 脚本 单步执行命令 编写一个脚本 exit # 如果脚本没有明确定义退出状态码,那么执行最后一条命令的的状态码即为脚本的退出状态码。 /bin/bash case $1 in -y|--verbose) debug=1 ;; *) 脚本编程: 顺序结构 选择结构 if:单分支、双分支的,多分支 case 循环结构

    1.9K30发布于 2018-07-04
  • 来自专栏pythonlove

    Bash脚本编程(原创)

    Shell中文意思叫做“壳”,在计算机中它是和用户直接交互的一个界面,而我们通常用到的是文本界面的shell: bash启动的时候会运行各种不同的脚本。 用sh名字调用的非交互shell不会去读取其他启动脚本,--rcfile参数无效。当bash以POSIX模式启动时(例如带有--posix参数)它使用POSIX标准来读取启动文件。 以上是我们对bash的简单介绍,接下来我们就说一下关于bash脚本编写的一些内容,在http://linuxlover.blog.51cto.com/2470728/1631593此篇博客中我提供过几个简单的例子大家可以去看一下 此命令也经常用在bash脚本的开头出以读取配置文件,获取其中的变量值。 Bash 或 set 跟踪调试时,执行脚本中的每行都会在前面加一个(+)号。

    2K30发布于 2018-08-04
  • 来自专栏技术博文

    bash脚本 while语法

    注:在编写脚本时,一定要注意空格 condition为true时命令1到命令3将会一直执行,知道条件为false ,例如: #! /bin/bash x=1 while [ $x -le 5 ] do echo "Welcome $x times" x=$(( $x + 1 )) done 读取输入: while read /bin/bash while read line do echo $line done < /home/joshua/testfile 说明:  行2,使用read有标准输入读取数据,放入变量line

    1.3K50发布于 2018-04-16
  • 来自专栏第一专栏

    Linux笔记------bash脚本

    Bash /shell #1形式 #!/bin/bash #2强调 #条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。 /bin/bash int=1 while(( $int<=5 )) do echo $int let "int++" done #以上实例使用了 Bash let 命令,它用于执行一个或多个表达式 /bin/bash #! /bin/bash #15尝试写遍历一个目录下的文件名的脚本 cleanDir=/home/uplooking/save cleanDay=`date -d"7 days ago " +%Y%m%d ` 脚本自动执行去掉交互 sudo ...

    3.1K50编辑于 2023-05-25
  • 来自专栏YP小站

    常用bash脚本功能

    /bin/bash response=$(curl -sL -o /dev/null -w %{http_code} https://baidu.com) if [[ $response -ge 200 /bin/bash # 配置文件中的配置项格式为key1=value1,一行一个配置项 while read line;do eval "$line" done < /etc/openvpn/server 3600) / 60 ))分钟$(( (SEC % 3600) % 60 ))秒\c" } b=`swap_seconds $a` echo $b 输出 持续时间: 16小时41分钟40秒 7、脚本命令行参数的传递与判断 /bin/bash main() { if [[ $# == 1 ]]; then case $1 in "-h") echo "脚本使用方法 仓库名2 ... tag名(tag命名规则为: *-v加数字)" exit ;; "--help") echo "脚本使用方法

    1.4K30发布于 2021-11-26
  • 来自专栏没有擅长的YcY

    Bash脚本编程之数组

    array=( "${array[@]}" "new element" )或array[${#array[*]}]="new element"

    1.1K10发布于 2019-05-26
  • 来自专栏阮一峰的网络日志

    Bash 脚本 set 命令教程

    服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。 set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。 本文介绍它的基本用法,让你可以更安心地使用 Bash 脚本。 一、简介 我们知道,Bash 执行脚本的时候,会创建一个新的 Shell。 $ set 二、set -u 执行脚本的时候,如果遇到不存在的变量,Bash 默认忽略它。 #! set -o xtrace 四、Bash 的错误处理 如果脚本里面有运行失败的命令(返回值非0),Bash 默认会继续执行后面的命令。 #! 另一种办法是在执行 Bash 脚本的时候,从命令行传入这些参数。

    2.5K40发布于 2018-04-12
  • 来自专栏阮一峰的网络日志

    Bash 脚本教程》发布了

    过去三个月,我一直在写《Bash 脚本教程》,现在终于写完了。 ? Bash 是 Linux 和 Mac 的默认 Shell(命令行环境),系统管理和服务器开发都需要它。 我一共写了20节,Bash 脚本编程的主要语法,都包括在内了,日常使用应该足够。点击这个链接,现在就可以自由阅读和访问。也欢迎初学者使用这个教程,学习 Bash。 ?

    1.2K30发布于 2020-04-17
  • 来自专栏用户2442861的专栏

    unix 的 bash shell 脚本

    /gameser服务,请写一个脚本,当服务宕掉,脚本自动拉起gameser服务。 #! /bin/bash while true;do         result=`ps aux | grep gameser | wc -l`         if [ $result -lt 2 /bin/bash For((i=1;i<=$1;i++));do echo –n \* done echo For((i=1;i<=$2;i++));do echo –n \* done 写脚本实现,可以用shell,perl等。 #/bin/bash for   i   in   {1..100};do huan[$i]=$i done      #先初始化一个数组,其实用变量也行,个人喜好,用awk也行,但一篇内容一个shell

    2.3K20发布于 2018-09-20
  • 来自专栏没有擅长的YcY

    Bash脚本编程之subshell

    /bin/bash # subshell.sh echo "We are outside the subshell." echo "Subshell level OUTSIDE subshell = $BASH_SUBSHELL" echo; echo outer_variable=Outer global_variable= ( echo "We are inside the subshell /bin/bash # allprofs.sh: Print all user profiles. FILE=.bashrc # File containing user profile. /bin/bash # subshell.sh # 在后台运行以确保并行执行 (ping -c 10 127.0.0.1 > /dev/null) & (ping -c 20 127.0.0.1 > 等同于: # ping -c 10 127.0.0.1 > /dev/null & # ping -c 20 127.0.0.1 > /dev/null & # 通过ps可以发现两条子命令都是当前脚本启动的子

    1.2K20发布于 2019-05-26
  • 来自专栏没有擅长的YcY

    Bash脚本编程之引用

    引用的意思是用引号括起一个字符串,以保护字符串中的特殊字符不被shell或shell脚本重新解释或扩展: # 在通配和正则模式中拥有特殊含义的*号在引用中失去了特殊意义 bash$ ls -l [Vv 507 May 4 14:25 vartrace.sh -rw-rw-r-- 1 bozo bozo 539 Apr 14 17:11 viewdata.sh bash 比如某些场景下引号的用途是保护shell命令参数,但仍然允许调用程序扩展特殊字符: bash$ cat file1.txt first name in file1.txt bash$ cat file2 .txt First name in file2.txt bash$ grep '[Ff]irst name' *.txt file1.txt:first name in file1.txt file2

    1.3K20发布于 2019-05-26
  • 来自专栏ACM小冰成长之路

    bash 脚本中嵌入 expect

    由于 并没有默认安装,所以需要先安装: sudo apt install expect 另外因为 脚本有专用的解释器,所以在脚本的第一行不是: #!/bin/bash 而是: #! /usr/bin/expect -f 如此一来,我们需要将用到交互式操作的命令均抽离出来分别写脚本,这样无疑会造成麻烦,如果交互式的命令很多时,会需要写很多脚本。 因此需要想办法将 脚本嵌入到 脚本中。 在执行 脚本时有三种方法,第一种: ./bash_script.bash 这要求脚本有可执行权限并且第一行是: #! /bin/bash 第二种: bash bash_script.bash 这种不要求可执行权限,第一行也没有强制的要求。 第三种: bash -c "cmd string" 第三种写法可以将 通过 执行。

    2.8K20编辑于 2021-12-07
  • 来自专栏python3

    Linux Bash脚本练习3

    1.任务描述: 写一个脚本实现如下功能: manageuser.sh --add user1,user2,user3,... /bin/bash # if [ $# -lt 1 ] ; then    echo "no args"    exit 7 fi if [ $1 == "--add" ] ; then        

    3.2K30发布于 2020-01-14
  • 来自专栏进击的Coder

    Bash 脚本 set 命令教程

    服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。 set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。 本文介绍它的基本用法,让你可以更安心地使用 Bash 脚本。 一、简介 我们知道,Bash 执行脚本的时候,会创建一个新的 Shell。 $ set 二、set -u 执行脚本的时候,如果遇到不存在的变量,Bash 默认忽略它。 #! set -o xtrace 四、Bash的错误处理 如果脚本里面有运行失败的命令(返回值非0),Bash 默认会继续执行后面的命令。 #! 另一种办法是在执行 Bash 脚本的时候,从命令行传入这些参数。

    2.1K50发布于 2018-06-25
  • 来自专栏IT大咖说

    nodejs写bash脚本终极方案!

    ◆ 前言 最近在学习bash脚本语法,但是如果对bash语法不是熟手的话,感觉非常容易出错,比如说:显示未定义的变量shell中变量没有定义,仍然是可以使用的,但是它的结果可能不是你所预期的。 后来就开始探索,如果用node脚本代替bash该多好啊,经过一天折腾逐渐发现一个神器,Google旗下的zx库,先别着急,我先不介绍这个库,我们先看看目前主流用node如何编写bash脚本,就知道为啥它是神器了 ◆ node执行bash脚本: 勉强解决方案:child_process API 例如 child_process的API里面exec命令 const { exec } = require("child_process 脚本命令很多都是同步的。 ◆ node执行bash脚本: 进阶方案 shelljs const shell = require('shelljs'); # 删除文件命令 shell.rm('-rf', 'out/Release

    4.5K20发布于 2021-07-19
  • 来自专栏阮一峰的网络日志

    处理Apache日志的Bash脚本

    所以,我就决定自己写一个Bash脚本,统计服务器的日志,顺便温习一下脚本知识。 事实证明,这件事比我预想的难。虽然最终脚本只有20多行,但花了我整整一天,反复查看手册,确认用法和合适的参数。 下面就是我的日志分析脚本,虽然它还不是通用的,但是我相信里面用到的命令,足以满足一般的日志分析需求,同时也是很好的学习Bash的实例。如果下面的每一个命令你都知道,我觉得可以堪称熟练使用Bash了。 二、为什么要用Bash 很多计算机语言,都可以用来完成这个任务。但是,如果只是简单的日志分析,我觉得Bash脚本是最合适的工具。 主要原因有两个:一是"开发快",Bash脚本是各种Linux命令的组合,只要知道这些命令怎么用,就可以写脚本,基本上不用学习新的语法,而且它不用编译,直接运行,可以边写边试,对开发非常友好。 二是"功能强",Bash脚本的设计目的,就是为了处理输入和输出,尤其是单行的文本,所以非常合适处理日志文件,各种现成的参数加上管道机制,威力无穷。

    1.9K50发布于 2018-04-18
  • 来自专栏没有擅长的YcY

    Bash脚本编程之算数扩张

    算数扩张(Arithmetic Expansion)。通过使用反引号,双括号和let命令可以将字符串转换为数字表达式。

    67920发布于 2019-05-26
  • 来自专栏code秘密花园

    nodejs 写 bash 脚本终极方案!

    前言 最近在学习bash脚本语法,但是如果对bash语法不是熟手的话,感觉非常容易出错,比如说:显示未定义的变量shell中变量没有定义,仍然是可以使用的,但是它的结果可能不是你所预期的。 后来就开始探索,如果用node脚本代替bash该多好啊,经过一天折腾逐渐发现一个神器,Google旗下的zx库,先别着急,我先不介绍这个库,我们先看看目前主流用node如何编写bash脚本,就知道为啥它是神器了 node执行bash脚本: 勉强解决方案:child_process API 例如 child_process的API里面exec命令 const { exec } = require("child_process 脚本命令很多都是同步的。 node执行bash脚本: 进阶方案 shelljs const shell = require('shelljs'); # 删除文件命令 shell.rm('-rf', 'out/Release'

    3K20发布于 2021-09-08
  • 来自专栏蓝天

    通用的停止进程bash脚本

    printf "\033[1;33musage: $0 process_cmdline\033[m\n"

    2K10发布于 2018-08-07
领券