18.7.20记录

#/GDB(hello.c的源文件已被创建)
  被调试的应用程序在编译时最好使用-g参数将调试信息编入
   gcc hello.c -o hello -g
(-o hello 必须前后不变但位置可变:gcc -g hello.c -o hello)
#(gdb)list 10       --l:表示列出10行源码。
#(gdb)run           --r:从头运行。
#(gdb)quit          --q:退出。
#(gdb)break       --b:设置断点。eg: break 16 (程序第16行设置断点)
#(gdb)continue  --c:从停止处继续运行程序。
#(gdb)next         --n:向前执行一句。(不进入被调用函数中)
#(gdb)step         --s:向前执行一句。(可进入被调用函数中)
#(gdb)return      --ret:从当前函数返回。
#(gdb)print         --p:显示变量或者表达式的值。
#(gdb)x                    :显示内存值。
#(gdb)backtrace --bt:显示调用栈。
#(gdb)info b              :显示所有断点。
#(gdb)delete b         :删除断点
连续敲击回车键则会一直执行最近执行过的命令。


#/**shell:命令解析器
(脚本语言用来执行命令)
eg:vim hello.sh(.sh不是后缀,只为甄别使用)
        
       #!/bin/bash(必须为绝对路径)(bash相当于是一个解析器,所以脚本语言不需要编译)
       #echo(输出)hello /"hello"(“”会更加灵活)
       #echo hello > test.txt(">"重定向覆盖符号,会创建一个text.txt文件,会覆盖掉文件内的内容。">>"重定向追加。就不会覆盖。)
   
eg:Hello="helloworld"
     echo ${Hello} / echo $Hello

#eg:命令行参数
    echo $0:输出./xxxxxx.sh
    echo $1:输出第1个参数
    echo $2:输出第2个参数
    echo $#:输出参数的个数
    echo $*:输出所有的参数
    echo $?:程序的返回值判断
    
注:shell里注释用"#"开头   


eg:shell中的循环表示
t1:
    for((i=0;i<5;i++));//分号可以省略
    do 
    echo "helloworld"
    done

t2:
    for i in {1..10}
    do
    echo "helloworld"
    done

t3:
  for i in a, b, c, d
   do
    echo $i
   done

t4:
  for name in $1 $2 $3
  do
    mkdir $name
    cd $name
    echo > ${name}.c "
    #include<stdio.h>
    
    int main()
    { 
         printf(\"     \\n\");
         return 0
    } "
       cd ..
  done


t5
  PATH=$1   
  if [ -z ${PATH} ]; then      //判断参数是否为空,如果不为空则不成立,为空则成立
    echo "输入有误"
    exit 1
  fi

  if [ -d ${PATH} ]; then      //判断是否为目录
    echo "是目录。"
  fi

  if [ -f ${PATH} ]; then      //判断是否为文件
    echo "是文件。"
  fi

可以合并为:
  if [ -d ${PATH} ]; then
    echo "是个目录"
  elif [ -f ${PATH} ]; then
    echo "是个文件" 
  fi

#/case语句:
 
  echo "请输入一个字符:"

  read key //从键盘读取一个字符存在变量key里。

  case "$key" in 
    [A-Z] ) echo "大写字母";;
    [a-z] ) echo "小写字母";;
    [0-9] ) echo "数字";;
    * ) echo "其他";;
  esac

(#注:在外命令行中可能需要更改环境变量:export LANG=C)

#echo $PATH:输入完后会出现很多的路径,将一个列如:tt的名称放入任何一个在PATH路径下即可完成将 tt 变成如" cd "一样的命令(都是二进制文件)。
#echo PATH:$PATH /home
#eg:
unset PATH:就会中止这个环境变量。


 

猜你喜欢

转载自blog.csdn.net/qq_41481342/article/details/81137104