ubuntu下shell脚本编译_ubuntu shell脚本 - CSDN
精华内容
参与话题
  • 操作系统:ubuntu 16.04 编程语言: C++ 编译链接工具:g++ 实现目标 将cpp文件自动编译并且生成同名的.out文件。 自动运行.out文件查看输出。 脚本程序 将以下脚本程序命名为autorun.sh #!/bin/bash ...

    运行环境

    操作系统:ubuntu 16.04
    编程语言: C++
    编译链接工具:g++

    实现目标

    • cpp文件自动编译并且生成同名的.out文件。
    • 自动运行.out文件查看输出。

    脚本程序

    1. 将以下脚本程序命名为autorun.sh
    #!/bin/bash
    
    cppname=$1
    outname=${cppname%.*}
    outname=$outname".out"
    g++ $cppname -o $outname
    ./$outname
    1. 运行sudo chmod +x autorun.sh使文件可执行。

    使用示例

    autorun放在cpp文件所在目录下,在shell中输入如下命令,请将cpp文件名字替换成自己的cpp文件名。

    ./autorun.sh decimalPointAlighment.cpp 
    展开全文
  • 首先在ubuntu下打开一个终端terminal (ctrl+alt+T), 然后新建一个cpp(命令为touch test_hello.cpp),然后用 vim test_hello.cpp, 按i键进入编辑模式 test_hello.cpp的内容如下: #include int main() {  std:...

    首先在ubuntu下打开一个终端terminal (ctrl+alt+T), 然后新建一个cpp(命令为touch test_hello.cpp),然后用  vim test_hello.cpp, 按i键进入编辑模式

    test_hello.cpp的内容如下:

    #include<iostream>

    int main()

    {

          std::cout<<"hello world";

    return 1;

    }

    然后按esc键退出编辑模式,然后采用:wq保存。

    再此在terminal中touch test.sh 新建一个脚本, 采用vim 打开,同样输入以下内容保存

    脚本内容如下:

    #!/bin/bash  (这一行必须这么写,采用shell编译器,其实在\bin目录下有很多语言的编译器如perl python等常用脚本语言编译器)

    g++ -o result test_hello.cpp


    然后在终端 sh test.sh, 那么就会生成result这个可执行的文件(当然任何文件都可以采用chmod +x filename 使之变成可执行文件)

    然后再采用./result 就可以看到输出为hello world. 


    以上完全是个小总结,以便自己以后查看


    展开全文
  • ls //显示当前目录文件  ls -a //显示隐藏文件  ls -l //显示文件信息  ls -al //显示所有文件及信息 cd //进入目录 cd Desktop 进入桌面 cd /mnt/hgfs 进入共享文件  cd … //返回上一级 cd …/…/ 返回上上一...

    ls //显示当前目录文件
     ls -a //显示隐藏文件
     ls -l //显示文件信息
     ls -al //显示所有文件及信息

    cd //进入目录 cd Desktop 进入桌面 cd /mnt/hgfs 进入共享文件
     cd … //返回上一级 cd …/…/ 返回上上一级

    pwd //显示当前目录

    uname //系统信息查看
     uname -a //查看全部信息

    clear //清屏 实际没清,切到下一页

    cat //显示文件内容 cat 123.txt 查看123.txt

    sudo //切换用户身份命令 sudo apt-get install mplayer 下载mplayer
     sudo su 切换身份(别乱用)

    mkdir 123 //创建文件夹123
    touch 123.txt //创建文件
    cp 123.txt a.txt //拷贝123.txt文件粘贴命名为a.txt
    rm 123.txt //删除文件
     rm -r //删除目录
     rm -f //强制删除
     rm 123 -rf //删除文件夹
    rmdir 123 //删除目录(目录为空)
    mv 123.txt a.txt //123.txt改名为a.txt
     mv 123.txt ~/Desktop //将123.txt移动到桌面

    ifconfig //显示网络信息
    sudo ifconfig ens33 192.168.x.xxx //改IP地址
    ifconfig --help //查看帮助

    reboot //重启
    poweroff //关机

    man printf //系统帮助 按q退出

    find -name 123.txt//查找文件名
    grep -nr “ubuntu” / //查找/目录下有ubuntu字符串的内容

    du Desktop //查看Desktop文件的大小 du Desktop -sh
    df //磁盘空间检查

    gedit 123.txt //打开123.txt

    ps //查看当前系统进程 ps -aux
    top //查看进程实时运行状态 按esc退出
    file 123.txt //查看文件类型

    vi编辑器

    Ctrl+Alt+t 打开命令框
    Ctrl+c 中止操作

    vi xxx.txt 打开xxx文件,没有则新建

    shift+: 左下角出现冒号
     冒号后输入wq 退出保存(w 保存,q 退出)
     冒号后输入q 退出不保存
     :e otherfilename
     //编辑文件名为otherfilename
     : s/old/new
     //用new替换行中首次出现的old
     : s/old/new/g
     //用new替换行中所有的old
     :%s/old/new/g
     //用new替换当前文件所有的old
     :n,md //删除n到m行
     :n //跳至n行
    命令模式
     按esc进入命令模式
     按a,o,i任意一个进入编辑
     按u撤销上一步操作
     ctl+r 反撤销
     按G(shift+g)跳至底部
     /vpser //向下搜索vpser
     ?vpser //向上搜索vpser
     n //向下搜索前一个搜索动作
     N //向上搜索前一个搜索动作
     w,d跳单词
     dd删除整行,8dd:表示从当前光标所在的行开始删除剪切8行
     x删除单个字母
     shift+$删除光标到行尾
     yy复制一行,8yy:表示从当前光标所在的行开始复制8行
     p粘贴
     gg=G缩进
     shift+insert粘贴
     ngg/nG 跳至n行

    编译
    gcc main.c //编译main.c
    gcc -v main.c //查看编译信息
    gcc main.c -o main
    //生产执行文件main
    ./main //执行main文件

    shell脚本

    chomd 777 123.sh //给123.sh最大权限
    echo “xxx” //输出字符串xxx
    read -p “input” firststr
    //读取输入字符串,存于firststr
    test -e filename//filenametest["filename //查找是否有filename文件 test ["firststr"=="$secondstr"]
    //判断firststr是否等于secondstr

    a&&b //a成立才能执行b
    a||b //a不成立则执行b,只能执行一个
    total=((a+b)) //((等式)),不能加空格

    $0 shell本身
    $# 参数个数
    $@ 所有参数的几个
    $1,$2… 对应参数

    if 条件判断;then
    	//条件判断成立要做的事情
    else
    	//条件判断不成立要做的事情
    fi
    

    或:

    if 条件判断;then
    	//条件判断成立要做的事情
    elif [条件判断];then
    	//条件判断成立要做的事情
    else
    	//条件判断不成立要做的事情
    fi
    
    case $变量 in
    “第1个变量内容”)
         程序段
          ;;//表示该程序块结束
    “第2个变量内容”)
         程序段
          ;;//表示该程序块结束
    “第n个变量内容”)
         程序段
          ;;//表示该程序块结束
    esac
    

    函数

    function fname(){
           //函数代码段
    }
    

    print(){
           echo "param:$1"
    }
    print a
    

    循环

    while[条件] //括号内的状态是判断式
    do   //循环开始
            //循环代码段
    done
    

    until[条件]
    do
    //循环代码段
    done
    
    for var in con1 con2 con3...
    do
            //循环代码段
    done
    

    for((初始值;限制制;执行步长))
    do
             //循环代码段
    done
    
    展开全文
  • 今天在ubuntu下编译脚本时遇到 unexpected operator 的报错,脚本在其他平台可以正常运行,编码也没有问题。 搜索一番之后发现ubuntu系统默认的shell是用的dash shell,所以导致有的shell脚本会报错,使用 sudo ...

    今天在ubuntu下编译脚本时遇到 unexpected operator  的报错,脚本在其他平台可以正常运行,编码也没有问题。

    搜索一番之后发现ubuntu系统默认的shell是用的dash shell,所以导致有的shell脚本会报错,使用 sudo dpkg-reconfigure dash 命令,然后选择 no 来移除默认的dash。

    然后再次编译可以正常运行。

    展开全文
  • sh脚本开头第一行都是这么一句 #!/bin/bash linux的脚本有可执行属性就能执行, 跟扩展名没关系,决定是否为shell类型的也只和第一句有关系 写完要执行chmod +x 文件名、加上可执行属性、也可以通过图形用户...
  • ubuntu中写一个shell脚本的过程

    千次阅读 2014-10-28 11:05:08
    gedit hello.sh ,然后输入 #!/bin/bash echo "Hello world!" chmod +x hello.sh ./hello.sh
  • 将文件放在home目录,修改权限sudo chmod a+x sw_java.sh,在任何目录执行:. ~/sw_java.sh输入对应的java版本回车即可,详细内容见博客地址:https://blog.csdn.net/hello_java_Android/article/details/79267509
  • Ubuntu crontab定时执行shell脚本

    千次阅读 2018-12-13 15:06:28
    Ubuntu crontab定时执行shell脚本 最近打算让服务器定时的编译项目源码,及时产生二进制文件。写好了编译脚本后,就需要用到crontab设置定时任务。 Crontab与Cron 使用crontab命令来配置cron进程。cron进程...
  • 今天安装opencv2.3.0在自己的机器上,因为觉得用脚本执行一系列安装的命令比较方便,所有花了一天的时间初步学习了怎么编写最简单的shell 脚本。  首先安装Opencv2.3.0需要cmake 配合。所以去官网上下载了cmake2.8...
  • ubuntu shell编程基础篇

    万次阅读 2011-10-28 09:41:05
    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行)...(可以运行echo $SHELL来看你的系统是使用那一类shell, 比如ubuntu使用的是/bin/bash,则第一行写成#
  • FFmpeg是什么? ffmpeg是一套可以用来记录,转换数字音频,视频,并能将其转换为流的开源计算机程序 ffmpeg 是一个对媒体视频处理工具,有非常强大的功能包括视频采集,视频格式转换,视频抓图,给视频加水印等 ...
  • # #安装所需支持包 # sudo apt-get install zlib1g-dev sudo apt-get install libbz2-dev sudo apt-get install libsqlite3-dev sudo apt-get install python3-dev sudo apt-get install libxml2-dev ...
  • 或者是其他形式的可执行文件,只要无法查看程序内容就行.  但是,如果你仅仅是看不见内容就行了的话,不妨用  gzexe a.sh ... 原来的 a.sh 就被存为 a.sh~,新的 ... 因为 system 就是就是又开了一个shell进程,
  • 编写shell脚本程序一次安装多个软件 编写shell脚本程序一次安装多个软件,主要用于一些软件依赖环境配置。 1、shell脚本程序必须以下面的行开始(必须方在文件的第一行):  #!/bin/sh   符号#!用来告诉系统它...
  • Linux shell 脚本编写

    千次阅读 2018-01-30 15:58:23
    1、Unix&Linux,GUN,Ubuntu,Red Hat,Fedora。 2、Linux用户管理。 —Root用户,普通用户,用户组。 —useradd,passwd,usermod,finger,sudo(su),groupadd,groups,whoami,who。 3、文件和目录操作。 ...
  • Ubuntu的一些shell命令

    2017-08-22 17:17:15
    压缩与解压.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------------------------------------- .gz 解压1:gunzip FileName.gz ...
  • shell写了一个自动编译代码的脚本

    千次阅读 2016-07-27 14:53:52
    为了充分利用晚上的时间进行编译,写了一个自动编译代码的脚本,这样保证第二天的调试工作不会受大版本编译的影响,同时也能监测服务器端的代码是否出错。我习惯是在每天下班离开之前运行此脚本。 1、运行命令:打卡...
  • 实验环境 系统版本:16.04-4.4.0-21-generic Jenkins版本:v2.140 Docker版本:18.09.0 Harbor版本:v1.5.3(centos7-3.10) 注:由于Harbor是基于Docker Registry V2版本,所以就要求Docker版本不小于1.10.0,...
  • echo $SHELL --> /bin/bash type sh --> /bin/sh 然后我到/bin看了有"sh -> dash",原来sh是/bin/dash的链接。 后来google了一下才发现,buntu6.10已将先前默认的bashshell更换为了dash。其表现是/...
  • ubuntu shell编程

    2017-11-12 19:53:10
    程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh ...用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin... 编译 chmod +x name.sh 这样才能用 ./name.sh 来运行 简单的tes
1 2 3 4 5 ... 20
收藏数 18,776
精华内容 7,510
关键字:

ubuntu下shell脚本编译