您的位置:首页 > 运维架构 > Shell

Linux基本功十一:shell脚本执行及交互

2013-07-20 12:13 351 查看
1、学习过程中常用命令总结

      pstree树形显示进程;ps top

      alias设置一个别名;

      strace ls;//ls命令要做的事儿是很多的;

      man 查看命令;

      set 可以看见所有的命令[普通变量和全局变量];

      env 全局[环境]变量可以被set命令看到;

      echo $aa 取aa变量的值;echo $HOME; \a

      export PATH PS2

      history 默认保留1000个变量; set |grep HIS

      history -c清楚命令;可以up和down来看命令;ctr +r,可以调出历史里的命令,匹配;

      !!调用上一条命令; !+数字表示第几行的某一个命令;

      pwd 路径

      ps

      top

      pstree

      kill -s 9 firefox

      pgrep firefox

      pgrep httpd[查询阿帕奇服务的进程ID]

      pidof firefox-bin(全名)

      一句话杀掉进程:

      pkill -9 firefox

      killall -9 firefox(全)

      seq 1 100 产生1到100的数;

      sleep 100  单位是秒S

      unset 取消函数 或者变量,避免冲突;

      ed 编辑器sed s/p/n/e

      vi vim可视化显示

      s/root/shrek/g 将root替换为shrek;

      wc -l 看有多少行;-c -w[words]

      man 

      --help

      info [有小例子]  有*号的都可以回车,按U回到上一层;

      cat

2、shell三种执行方式: 

    第一:要求可执行权限,且在新shell执行。a+x,输入脚本的绝对路径和相对路径;

   直接执行路径相当于打开一个新的shell,bash aa也是打开一个新的bash;注意export的作用这是在该shell和子shell里可见;

vi data //data文件在root目录下;
chmod +x data //加上执行权限;
./root/data
./backup  第二:指定一个bash脚本 或 tcsh脚本来执行,是在新的shell里执行。表示以bash或tcsh来执行脚本
vi data  //data文件在root目录下;
bash ./root/data
bash ./data
  第三:在当前的shell里执行。在脚本的前面加“. ”;
. ./data
3、与shell脚本的交互,输入或输出

实例如下:
#!/bin/bash
echo this is my first shell!
echo $1 \$1   读取$1
echo $2 \$2   读取$2
echo $3 \$3   读取$3
echo $# \$#-NumOfArg 变量的个数
echo $? \#?-result  执行的结果
echo $$ \$$-pid-to-kill   该进程的PID
read -p "please input your name:" AAA //读入数据;
printf "\t $AAA is a girl!\n"
pritnf "the first argue is %s" $AAA
printf "\a"
 //这里printf比echo控制的符号更多;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: