ubuntu上shell脚本_ubuntu shell脚本 - CSDN
精华内容
参与话题
  • ubuntu上第一个shell脚本

    万次阅读 2017-05-27 10:20:08
    参考:https://billie66.github.io/TLCL/book/zh/chap25.htmlUbuntu下第一个shell脚本在home目录下新建文件夹xkmkdir xk进入xk文件夹,新建文件helloshelltouch helloshell在helloshell文件中输入如下内容:#!...

    参考:https://billie66.github.io/TLCL/book/zh/chap25.html

    Ubuntu下第一个shell脚本

    在home目录下新建文件夹xk

    mkdir xk

    进入xk文件夹,新建文件helloshell

    touch helloshell

    在helloshell文件中输入如下内容:

    #!/bin/bash
    # This is our first script.
    echo 'Hello World!'

    保存并退出

    ls -l helloshell
    chmod 755 helloshell
    ./helloshell
    ps -ef | grep helloshell

    ps -aux | grep helloshell

    脚本执行完之后,进程就结束了,所以此时执行 kill -9 [PID]没有作用,该PID从上面ps中获取,并发现此刻pid每次都是变化的;

    查看用户xk目录下面是否有bin文件夹,若没有,新建bin文件夹

    mkdir bin
    pwd

    查看环境变量的内容

    echo $PATH

    发现如果没有当前用户/home/xk/bin:/home/xk/.local/bin:/homexk/bin/目录,
    这里写图片描述

    此刻在根目录执行helloshell,会提示该命令不存在
    这里写图片描述

    则添加环境变量:

    export PATH=~/bin:"$PATH"

    这里写图片描述

    执行source ./.profile 使环境立即生效

    echo $PATH

    路径发生变化,新的路径添加加进去了

    在根目录下,再次执行helloshell,即可打印出结果

    展开全文
  • Ubuntu编写shell脚本

    千次阅读 2015-11-16 21:34:02
    先介绍几个常用命令 $()在bash中叫做 命令替换,回调用一个subshell。通俗点讲,就是被它括起来的命令部分将优先执行。 echo(显示文字) echo $A 表示输出变量A的值 echo [-ne][字符串]或 echo [--help][--...


    先介绍几个常用命令

    $()在bash中叫做 命令替换,回调用一个subshell。通俗点讲,就是被它括起来的命令部分将优先执行。

    echo(显示文字)

    后面的字符串可以加引号,也可以不加引号。单引号'扩起来的字符将作为普通字符对待

    echo $A 表示输出变量A的值

    echo [-ne][字符串]或 echo [--help][--version]

    -n 不要在最后自动换行

    -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

    \a 发出警告声; \b 删除前一个字符; \n换行;与printf差不多。


    read (读取来自键盘输入的变量,与用户进行对话):

            read [-pt] variable    

    -p后面可接提示符;-t后面可接等待的秒数

    declare/typeset(声明变量的属性)

         declare [-aixr] varible                                                   

    -a将后面的variable定义为树组(arrey);                                                       

    -i 定义为整形数字(integer);

    -x用法与export一样,将variable变成环境变量;

    -r将variable变量设置为只读(readonly),该变量不可更改内容也不能取消设置。

    也可以这样var=$((运算内容))计算

    var=$(($first+$second))计算两个变量的和 

    数组


    now ,现在正式开始shell脚本学习之路

    注意要有 #!/bin/bash,声明这个脚本使用的shell名称

    除了第一行的#,所有以#开头的行都是注释行




    展开全文
  • Ubuntu 运行 Shell 脚本

    千次阅读 2019-07-17 14:45:31
    将一个脚本保存为带有扩展名的文件,如 test1.sh, 内容,例如: #/bin/bash echo -n "enter login name:" read name echo -n "enter password:" read pwd if [ $name = "abc" -a $pwd = "123" ] # 模拟登陆...

    将一个脚本保存为带有扩展名的文件,如 test1.sh,

    内容,例如:

    #/bin/bash
    
    echo -n "enter login name:"
    read name
    
    echo -n "enter password:"
    read pwd
    
    if [ $name = "abc" -a $pwd = "123" ]  # 模拟登陆输入,需要输入 abc/123
    then
        echo -e "the login name and password are right! \n"  # echo -e " xxxxx" 打印换行
    else 
        echo -e "the input is wrong. \n"
    fi

    在终端上输入:  chmod +x test1.sh,赋予可执行权限。

    在终端上输入:  ./test1.sh 或者 sh test1.sh 就能运行成功。

    另外,如果脚本文件没有扩展名的话,在终端上输入: ./test1 或者 test1 脚本都能执行成功。

    展开全文
  • Ubuntu系统Shell脚本

    2020-09-08 10:35:40
    命令 常用 # 查看所有环境变量 - 打印环境变量 env echo $PATH export LD_LIBRARY_PATH=$PWD #定义和取消变量 var1="123" unset var1 # 打印系统信息 grep -v "U" 反向不匹配 uname -a ...# 打...

    命令

    常用

    # 查看所有环境变量 - 打印环境变量
    env
    echo $PATH
    export LD_LIBRARY_PATH=$PWD
    
    #定义和取消变量
    var1="123"
    unset var1
    
    # 打印系统信息 grep -v "U" 反向不匹配
    uname -a
    
    # 账号和密码 - 切换账号 - 设置账号密码
    su root
    su -
    sudo passwd root
    
    # 打开文件管理器 - 切换到用户目录 - 切换到上次访问目录
    cd 
    cd -
    nautilus .
    
    # 目录快速操作 目录入栈 出栈 列出栈目录 切换目录 弹出指定栈中目录
    # + 从左至右 - 从右至左  序号从0开始计数
    pushd .
    popd  
    dirs
    pushd -0
    popd +2
    
    # 查看命令位置
    which git

    基本命令详情

    # echo 显示文本
    # -e 激活转义字符,不当字符串输出
    echo "\nHello"
    echo "\nHello\b1"
    
    # yes 重复输出字符串
    yes 
    yes n
    
    # 创建目录和删除文件
    mkdir  dir
    rm -rf dir
    
    # 复制 符号链接+d参数
    # 复制 目录+r参数
    cp -df  libdtypestd.so  ..
    cp -r   skia ..

    其他

    # 文件所在目录 相对或者绝对路径
    aa=`dirname $0`
    
    # 执行脚本文件名
    aa=`dirname $0 .sh`
     
    # 执行脚本文件名(加后缀)
    aa=`dirname $0`
    
    # 标准获取脚本所在绝对目录
    # 直接执行脚本,启动另一个shell,初始化$0,如$0为./build/copy_std.sh
    build_dir=$(cd $(dirname $0);pwd) 
    # 即使在source *.sh也正常,source并不会另起一个新的shell进程,推荐写法
    build_dir=$(cd $(dirname ${BASH_SOURCE[0]});pwd) 

    控制语句

    分支控制if

    # 单分支 
    a=4
    if [ $a -eq 4 ]
    then
       echo "4 == 4"
    fi
    
    # 双分支
    # -e 文件存在
    # -d 是否为目录
    # -r 可读 -w 可写 -x 可执行
    # 注意[]内部两边有空格
    if [ ! -e TextEngineLib ];then
        echo "TextEngineLib not exist"
    else
        echo "TextEngineLib exist "
    fi
    
    # 多分支
    if [];then
       echo "1"
    elif [];then
       echo "2"
    else
       echo "3"
    fi

    循环控制for

    # 执行6次循环
    for((i=0;i<6;++i))
    do
        echo $i
    done
    # 另一种方式
    for i in {2..7}
    do
        echo $i
    done
    
    # 给定列表循环
    for file in a.so b.so c.so 
    do 
        echo $file 
    done 
    
    # 文件
    for file in *.txt
    do 
        echo $file
    done
    # 
    for file in `ls *.txt`
    do 
        echo $file
    done

    函数

      函数定义 、调用、传参

    function copy_cclib()
    {
        for file in `ls ${cclib_dev_dir}/$1/$2/$3/`
        do
            echo copy ${file}
            cp -rf ${cclib_dev_dir}/$1/$2/$3/${file} ${this_script_dir}/bin
        done
    }
    copy_cclib qt 5.9.4 mac

    常见脚本写法

    # 判断系统
    if [[ "$(uname)" = "Linux" ]]; then
      HOMEBREW_ON_LINUX=1
    fi

    获取运行目录,脚本目录,上级目录

    #!/bin/bash
    run_dir=${PWD} 
    build_dir=$(cd $(dirname ${BASH_SOURCE[0]});pwd) 
    cd ${build_dir}/.. 
    root_dir=${PWD} 
    echo $run_dir 
    echo $build_dir 
    echo $root_dir 
    cd $run_dir 

    配置文件

    /etc/profile

    /etc/bashrc

    ~/.bash_profile   - mac

    ~/.bash_login

    ~/.profile             - ubuntu

    ~/.bashrc

     

    展开全文
  • Ubuntu下运行Shell脚本

    千次阅读 2018-05-19 15:27:27
    将一个脚本保存为带有扩展名的文件,如test.sh, 在终端输入: chmod +x test.sh 然后输入: test.sh 终端显示: test.sh 找不到命令(后来看了鸟个私房菜,发现这样输入,系统只会在$PATH列出的路径查找,而不会...
  • ubuntushell脚本基础与入门

    千次阅读 2014-10-11 17:54:32
    今天阅读项目的sh脚本,特地kan
  • shell脚本的执行 之前写过一些简单的bash脚本,实现一些简单的功能,虽然每次写完之后无法使用 ./test.sh 来执行,但是使用 sh test.sh 效果也一样的。 今天在使用 sh 来执行脚本时,出现了错误,就引发了我的好奇心...
  • 在linux中编写shell脚本的流程的简单说明 1、使用vim或者gedit建立一个文件,通常来说会用.sh作为文件后缀 2、以 “#!/bin/bash”为第一行语句,其中“#!”被称为“Sha-Bang”符号,是shell脚本的起始符号...
  • ubuntu 开机启动shell脚本

    千次阅读 2018-05-30 17:11:54
    1.创建shell启动脚本test2.将启动脚本复制到 /etc/init.d 目录下3.设置脚本文件权限sudo chmod 755 /etc/init.d/test4.设置脚本启动sudo update-rc.d test defaults 95 //95 为启动优先级,越小优先级越高// 执行后...
  • 搜索一番之后发现ubuntu系统默认的shell是用的dash shell,所以导致有的shell脚本会报错,使用 sudo dpkg-reconfigure dash 命令,然后选择 no 来移除默认 的dash。 然后再次编译可以正常运行。
  • ubuntu中编写shell脚本开机自动启动

    千次阅读 2019-07-14 02:20:59
    编写脚本是为了不用手动去开启各种服务(也是为了偷懒哈哈) 1.进入终端输入 # 创建一个后缀为.sh的脚本文件 touch test.sh # 编辑脚本 vim test.sh # test.sh编写脚本内容 2.编写test.sh脚本 1 #!/bin...
  • 2,写shell脚本,命名为myshell.sh #!/bin/bash sudo python test.py \r echo &amp;amp;amp;amp;quot;执行完毕&amp;amp;amp;amp;quot; exit 0 2个脚本都放在/home/目录下 3,添加到定时任务 crontab -e ...
  • 一、编写文件 1.进入my-wokrspace(cd /etc/my-wokrspace)目录 2.创建文件first.sh(sudo touch first.sh) 3.文件内容如下(sudo vi first.sh) #!/bin/bash echo "Hello World" ...1. 在my-wokrspace目录下,...
  • shell脚本编写笔记

    千次阅读 2020-08-20 17:41:26
    本文主要介绍如何编写简单的shell脚本,给shell脚本传参,shell脚本获取当前运行时间,通过shell执行hql语句。
  • Ubuntu下执行Shell脚本文件

    千次阅读 2013-06-22 22:27:12
    首先,要确保这个文件的类型是可执行的。 有两种办法把文件设置为可执行文件。...然后,执行这个shell脚本文件。 1) 双击 file.sh 直接运行。 --b 别笑,图形界面的优点: 简单直接。 2) 使用命令
  • Ubuntushell终端写一个简单脚本

    千次阅读 2017-06-07 20:32:28
    1.打开终端(terminal),输入vi hello.sh 2然后在打开的脚本文件中键入: #!/bin/bash echo "hello world!...本人编写这个主要是因为测试一个shell能否实现简单脚本的功能,拿来分享,大家看看就好~~~
  • 通常服务器开启后需要输入一大堆繁琐的进入文件、启动服务等命令,每天如此就会逼...Shell脚本挺身而出: 实现:1、配置开机root账号登陆。 (1)先切换到root账号。 (2)进入vim /etc/lightdm/lightdm.conf (3)...
  • ubuntu中写一个shell脚本的过程

    千次阅读 2014-10-28 11:05:08
    gedit hello.sh ,然后输入 #!/bin/bash echo "Hello world!" chmod +x hello.sh ./hello.sh
  • Ubuntu crontab定时执行shell脚本

    千次阅读 2018-12-13 15:06:28
    Ubuntu crontab定时执行shell脚本 最近打算让服务器定时的编译项目源码,及时产生二进制文件。写好了编译脚本后,就需要用到crontab设置定时任务。 Crontab与Cron 使用crontab命令来配置cron进程。cron进程...
1 2 3 4 5 ... 20
收藏数 45,513
精华内容 18,205
关键字:

ubuntu上shell脚本