shell命令行参数

-bash-4.2$ cat test1.sh
#!/bin/sh
echo "$0  "
echo "$1  "
echo "$2  "

-bash-4.2$ ./test1.sh a b c
./test1.sh  
a  
b  
-bash-4.2$

本博客全部内容是原创,假设转载请注明来源

http://blog.csdn.net/myhaspl/

显示全部命令行參数

-bash-4.2$ cat test1.sh
#!/bin/sh
until [ -z "$1" ]
do
   echo "$1  "
   shift
done
-bash-4.2$ ./test1.sh a b c d e f
a  
b  
c  
d  
e  
f

-bash-4.2$ cat test1.sh
#!/bin/sh
index=1
for myarg in $*
do
   echo "NO#$index=$myarg"
   let "index+=1"
done
-bash-4.2$ ./test1.sh a b c d e f
NO#1=a
NO#2=b
NO#3=c
NO#4=d
NO#5=e
NO#6=f
-bash-4.2$

条件表达式

-bash-4.2$ cat test1.sh
#!/bin/sh
a=1
b=2
if [ $a -gt $b ]
then
   echo "GT"
else
   echo "LT"
fi
-bash-4.2$ ./test1.sh
LT
-bash-4.2$

-bash-4.2$ cat test1.sh
#!/bin/sh
a=2
b=2
if [ $a -gt $b ]
then
   echo "GT"
elif [ $a -eq $b ]
then
   echo "eq"
else
   echo "LT"
fi
-bash-4.2$ ./test1.sh
eq
-bash-4.2$

-bash-4.2$ cat test1.sh
#!/bin/sh
echo "====================="
echo "1.a"
echo "2.b"
echo "3.c"
read  mychoice
case $mychoice in
     1 ) echo "a";;
     2 ) echo "b";;
     3 ) echo "c";;
esac
exit 0
-bash-4.2$ ./test1.sh
=====================
1.a
2.b
3.c
2
b
-bash-4.2$

循环

-bash-4.2$ cat test1.sh
#!/bin/sh
for filename in `ls`
do
    echo $filename
done
-bash-4.2$ ./test1.sh
1
abc
abd
error.log
hadoop-2.4.1
hadoop-2.4.1-src.tar.gz
hadoop-2.4.1.tar.gz
hello
mydoclist

-bash-4.2$

数学思想方法-分布式计算-linux/unix技术基础(5)的更多相关文章

  1. 数学思想方法-分布式计算-linux/unix技术基础(3)

    夹: ~表示当前用户的主文件夹 .它代表了当前文件夹 ..它代表的父文件夹 链接文件 使用不同的文件名指的是相同的数据或程序.硬链接 在相同的物理文件系统,创建一个硬链接 -bash-4.2$ fin ...

  2. 数学之路-分布式计算-linux/unix技术基础(4)

    pwd显示当前文件夹,ls查看文件夹下的文件,cd 进入文件夹 -bash-4.2$ pwd /home/myhaspl-bash-4.2$ lsabc        hadoop-2.4.1     ...

  3. 数学思想方法-sasMEMO(17)

    SAS日期及时间格式 data  _null_;input mydate YYMMDD10.;put mydate YYMMDDB10.;put mydate YYMMDDC10.;put mydat ...

  4. 数学思想方法-python计算战(8)-机器视觉-二值化

    二值化 hreshold Applies a fixed-level threshold to each array element. C++: double threshold(InputArray ...

  5. Linux/Unix 线程同步技术之互斥量(1)

    众所周知,互斥量(mutex)是同步线程对共享资源访问的技术,用来防止下面这种情况:线程A试图访问某个共享资源时,线程B正在对其进行修改,从而造成资源状态不一致.与之相关的一个术语临界区(critic ...

  6. Mike Gancarz:Linux/Unix设计思想

           Mike Gancarz是一位技术布道者. 他是Linux/Unix最基本的倡导者之中的一个,也是最早开发X Window System的先驱.他把一些在Unix/Linux社区里口口相 ...

  7. 学习linux/unix编程方法的建议(转)

    假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...

  8. shell脚本兼容linux/unix与windows/cygwin的基础(注意处理好CR, LF, CR/LF 回车 换行的问题)

    shell脚本兼容linux/unix与windows/cygwin的基础 :统一文本格式为:unix文本格式,即于LF为换行符(推荐方案) 在notepad上设置:编辑->档案格式转换-> ...

  9. 《linux/unix设计思想》读后感

    <linux/unix设计思想>这本书,觉得书的大部分内容都闲扯的太远了,以下简单的总结下本书的核心,帮助大家节省时间和金钱. linux/unix设计思想: 1) 程序应该小而专一,程序 ...

随机推荐

  1. linux内核编译环境配置

    linux内核编译环境配置 如果不是编译内核,只需要安装与内核相匹配的kernel-devel开发包即可.即是/lib/modules/`uname -r`/build -> /usr/src/ ...

  2. HDU 1535 Invitation Cards (POJ 1511)

    两次SPFA. 求 来 和 回 的最短路之和. 用Dijkstra+邻接矩阵确实好写+方便交换.可是这个有1000000个点.矩阵开不了. d1[]为 1~N 的最短路. 将全部边的 邻点 交换. d ...

  3. win7下怎样设置putty免用户名密码登陆

    putty是一款好用的远程登录linux服务器软件,但每次输入用户名密码毕竟有些烦人,这里教你免用户名密码登陆.   工具/原料 putty 方法/步骤   去百度下载putty,小巧易用,仅有0.5 ...

  4. SVN无法修改以前提交日志的办法

    一直用SVN作为代码备份,但是今天偶然发现SVN上不能修改意见提交的代码,于是乎开始谷歌了,最后发现只需要在该工程下的hooks目录下放入pre-revprop-change.bat文件即可. pre ...

  5. thinkphp3.2入口文件

    原文:thinkphp3.2入口文件 <?php define('DIR_SECURE_FILENAME', 'default.html');//错误页面 define('APP_PATH',' ...

  6. 解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我怎样在Linux的Qt的应用程序中输入中文,我一開始认为不是什么问题,可是后面自己尝试了一下还真不行.不仅是Qt制作的应用程序,就连Qt Cr ...

  7. libuv 与 libev 的对比

    libuv 与 libev 的对比 libuv 与 libev 的对比 05 January 2013 libuv 和 libev ,两个名字相当相近的 I/O Library,最近有幸用两个 Lib ...

  8. Android 结合实例学会AsyncTask的使用方法

    AsyncTask运行时经过四个步骤,运行四个方法:           1.onPreExecute(),执行在UI线程,能够设置或改动UI控件,如显示一个进度条           2.doInB ...

  9. Indiegogo: An International Crowdfunding Platform to Raise Money

    Indiegogo: An International Crowdfunding Platform to Raise Money The world's funding platform. Fund ...

  10. [Linux]Centos git报错fatal: HTTP request failed

    在使用git pull.git push.git clone会报类似例如以下的错误: error: The requested URL returned error: 401 Unauthorized ...