精华内容
下载资源
问答
  • 初学者 shell 编程

    2021-01-20 14:43:23
    首先创建shell文件(建议创建一个专门存放shell文件的目录,方便查找) #touch a.sh 创建好之后打开a.sh文件编辑内容 #vim a.sh 输入i进入编辑模式,第一行输入#!/bin/bash 设置编bash译器 # !/bin/bash 我们先输出...
  • shell 编程笔记

    2015-10-28 14:28:00
    shell 因为要用命令行来处理一些文件,不知道怎么批量处理,就学习了一下shell。 #!/bin/bash echo "Hello World !" 新建一个xxx.sh,输入这个。 然后,进入相应文件夹, 输入, chmod +x ./test.sh #使...

    shell 因为要用命令行来处理一些文件,不知道怎么批量处理,就学习了一下shell。

    #!/bin/bash
    echo "Hello World !"

    新建一个xxx.sh,输入这个。

    然后,进入相应文件夹,

    输入,

    chmod +x ./test.sh  #使脚本具有执行权限
    ./test.sh  #执行脚本
    

    或者

    /bin/sh test.sh
    

    定义变量

    定义变量时,变量名不加美元符号($)


      • 首个字符必须为字母(a-z,A-Z)。
      • 中间不能有空格,可以使用下划线(_)。
      • 不能使用标点符号。
      • 不能使用bash里的关键字(可用help命令查看保留关键字)。

    使用变量

    使用一个定义过的变量,只要在变量名前面加美元符号($)即可

    抄不下去了,放个链接。

    http://c.biancheng.net/cpp/view/6999.html

     

    转载于:https://www.cnblogs.com/shenbingyu/p/4917243.html

    展开全文
  • 遂在网上搜索shell,终于理解shell既是命令语言,又是程序设计语言,话不多说,开始我们的第一个shell编程吧 任务要求,在屏幕上显示出hello 森森的字样 首先,我们就面临第一步,怎么打开shell 在命令行输入 vim...

    昨天看了一天鸟哥的shell教程,虽然很详尽,但一天时间也不知道看的嘛

    遂在网上搜索shell,终于理解shell既是命令语言,又是程序设计语言,话不多说,开始我们的第一个shell编程吧

    任务要求,在屏幕上显示出hello 森森的字样

    首先,我们就面临第一步,怎么打开shell

    在命令行输入 vim hellosensen.sh

    按i进入编辑模式

    输入

    #!/bin/bach          此步的解释是告诉此程序以bach解释器运行

    echo "hello 森森"

    然后按:wq保存

    写完一个简单的小程序,那么就需要运行了

    先给当前用户执行此脚本的权限

    输入

    chmod u+x hellosensen.sh

    再执行

     ./ hellosensen.sh

    这样屏幕就出现hello 森森 的字样了

    这就是一个简单的小shell程序,你学废了吗?

     

    至于读者可能有的几个疑问,做出解答

    出来一个shell怎么又有bash?  可以理解为原生安卓与miui。shell就是原生安卓,bash就是miui

    shell有什么用?参考脚本的用法,当你需要大量操作时,一步一步打代码太耗时间,用shell编个小脚本,点击运行,多方便。

     

     

     

    展开全文
  • linux下shell编程之expect

    2019-09-05 10:41:37
    关于expect是什么东西,直接去百度吧,一大堆,而且比我解释的要清晰,我们直接进入人生三连:是什么,为什么,怎么用? 1,是什么? 使用这个东西之前必须要知道的是,于此同时对应的是 #!/bin/bash 在编写shell...

    关于expect是什么东西,直接去百度吧,一大堆,而且比我解释的要清晰,我们直接进入人生三连:是什么,为什么,怎么用?

    1,是什么?

    使用这个东西之前必须要知道的是,于此同时对应的是 #!/bin/bash 在编写shell脚本的时候需要在开头加上这句话,告诉计算机使用哪个指令来处理你的程序,然后呢,把bash替换成expect,就是我们要说的这个东西了。

    expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。这就是expect!!!

    2,为什么有它?

    在做系统管理时,我们很多时候需要输入密码,例如:连接 ssh,连接ftp, 那么如何能做到不输入密码吗? 我们需要有一个工具,能代替我们实现与终端的交互, 那么,就是它:expect,管理员的最好的朋友之一 它能够代替我们实现与终端的交互,我们不必再守候在电脑旁边输入密码, 或是根据系统的输出再运行相应的命令, 这些都可以由expect代替我们来完成 说明:expect到底是什么? 说白了,expect就是一种脚本语言。

    3,怎么用?

    注意:使用之前需要安装expect

    因为expect是基于tcl的,所以需要你的系统中安装有tcl 如何检查?

    [root@dev ~]# whereis tcl

    如果看不到结果,请先安装tcl 安装

     [root@dev ~]# yum install expect 

    也可以从http://rpm.pbone.net下载for相应发行版的rpm包

    重点掌握部分:

    不知道这些东西,就不知道它的精髓在哪里,应该如何操作。

    脚本代码如下:

      ##############################################
      #!/usr/bin/expect
      set timeout 30
      spawn ssh -l username 192.168.1.1
      expect "password:"
      send "ispass\r"
      interact
      ##############################################

      1. [#!/usr/bin/expect]
      这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。
      注意:这一行需要在脚本的第一行。
      2. [set timeout 30]
      基本上认识英文的都知道这是设置超时时间的,现在你只要记住他的计时单位是:秒
      3. [spawn ssh -l username 192.168.1.1]
      spawn是进入expect环境后才可以执行的expect内部命令,如果没有装expect或者直接在默认的SHELL下执行是找不到spawn命令的。所以不要用 “which spawn“之类的命令去找spawn命令。好比windows里的dir就是一个内部命令,这个命令由shell自带,你无法找到一个dir.com 或 dir.exe 的可执行文件。
      它主要的功能是给ssh运行进程加个壳,用来传递交互指令。
      4. [expect “password:”]
      这里的expect也是expect的一个内部命令,有点晕吧,expect的shell命令和内部命令是一样的,但不是一个功能,习惯就好了。这个命令的意思是判断上次输出结果里是否包含“password:”的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的30秒
      5. [send “ispass\r”]
      这里就是执行交互动作,与手工输入密码的动作等效。
      温馨提示: 命令字符串结尾别忘记加上“\r”,如果出现异常等待的状态可以核查一下。
      6. [interact]
      执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行

    总结

    能够在工作中熟练的使用Shell脚本就可以很大程度的提高工作效率,如果再搭配上expect,那么很多工作都可以自动化进行,对工作的展开如虎添翼。如果你会Python的话,你的视野将会更加开阔,那个时候你又会“嫌弃”expect了。

    展开全文
  • 大家都知道普通的bash命令后边可以跟任意的参数(例如在启动hbase的客户端的时候,我们在hbase的bin目录下使用./hbase shell进入到hbase的客户端),那我们自己编写的脚本是否也支持传递参数呢?答案当然是肯定的,...

    大家都知道普通的bash命令后边可以跟任意的参数(例如在启动hbase的客户端的时候,我们在hbase的bin目录下使用./hbase shell进入到hbase的客户端),那我们自己编写的脚本是否也支持传递参数呢?答案当然是肯定的,但是怎么编写这样的shell程序呢?这就需要使用到位置参数。

    位置参数($数字):

    eg:
    name=$1中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/…]从1开始为传递的参数。
    在./hbase shell中,$0的值为./hbase,$1的值为shell

    linux系统除了提供位置参数还提供内置参数,内置参数如下: 

    • $# —-传递给程序的总的参数数目  
    • $? —-上一个代码或者shell程序在shell中退出的情况,如果正常退出-则返回0,反之为非0值。   
    • $* —-传递给程序的所有参数组成的字符串。   
    • $n —-表示第几个参数,12 表示第二个参数 … - $0 —-当前程序的名称   
    • $@—-以”参数1” “参数2” … 形式保存所有参数   
    • $$ —-本程序的(进程ID号)PID   
    • $! —-上一个命令的PID
    展开全文
  • 终于到shell 脚本这章了,在以前笔者卖了好多关子说shell脚本怎么怎么重要,确实shell...下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系...
  • 进入编辑我的第一个shell脚本程序 第一句写井号感叹号然后写解释器目录 例如 #!/bin/bash 这是一种约定俗称的写法 然后写内容 打印一句话helloworld 保存退出 然后怎么运行呢 一种加上可执行的权限 一种...
  • 一开始不知道怎么进入Windows的其他盘,看着这个文件夹的提示就在终端输入以下命令 cd dev cd sda5 当然是进不去sda5的,虽然在dev文件下用列表命令ls -a有出现sda5,但是不知道为啥进不去,百思不得其解,最后...
  • perl 、shell、python之shell脚本入门

    万次阅读 2014-07-23 15:35:54
    下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • SHELL 脚本

    2018-03-19 15:46:00
    下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • shell学习

    2014-08-05 18:33:35
    下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • SHELL 脚本学习笔记

    2020-08-14 13:40:10
    下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • 参考:生信技能树类似R里的Rstudio不存在的文件, vim就会创建vim file.txt进入命令模式按一下键盘i : 输入模式按ESC键,返回命令模式退出,按shift + : 进入底线命令模式可以看到光标按wq :w是保存,q是退出就回到...
  • 下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • 下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • 第十四章 SHELL 脚本

    千次阅读 2012-08-09 07:24:04
    下面笔者就带你正式进入shell脚本的世界吧。  到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • 下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能...
  • 下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • 在实际开发中我们一般...首先讲如何打开已存在的数据库,当然是开打DOS下cd到adb目录,然后输入adb shell,就会进入手机shell,cd到db所在目录,然后输入sqlite3 XXX.db,在此处如果这个数据库不存在,则会创建一个...
  • 小弟最近在尝试安卓的SQLite编程,但是在创建完表并添加完数据后,在cmd...在用sqlite3语句进入到对应的db文件下后输入select * from+表名,则会出现...>无法操作,请问有大神有遇到过相同的问题吗,怎么解决的谢谢?
  • 目录前言常言道:工欲善其事,必先利其器。编程语言的学习是久远的,一步一脚印。...Ubuntu Kylin 也预安装了Python-2.7.6,输入python指令就可以进入Python自带的Shell。但是此PythonShell一般用于调试Pyth...
  • linux 脚本

    2017-09-09 12:28:00
    下面笔者就带你正式进入shell脚本的世界吧。 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本。首先它是一个脚本,并不能作为...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
  • 第五章 shell编程 5.1 变量和运算符 5.1.1 变量替换 5.1.2 位置变量 5.1.3 进程变量 5.1.4 bash 引号规则 5.1.5 运算符 5.1.6 表达式替换 5.1.7 标准shell变量 5.1.8 影响命令的变量 5.2 过程 5.2.1 在过程内部使用...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

怎么进入shell编程