zoukankan      html  css  js  c++  java
  • shell变量

    • linux中位置参数变量
    $n n为数字,$0代表命令本身,$1-$9代表第一至第九哥参数,十以上的参数需要大括号包含,如${10}
    $* 代表命令行中所有的参数,$*把所有参数看成一个整体
    $@ 代表命令行中的所有参数,不过$@把每个参数区分对待
    $# 代表命令行中所有参数的个数
     1 ucm@ucm-Aspire-TC-606:~/testpace$ ./for.sh 1 99 25
     2 125
     3 The parameters is : 1 99 25
     4 parameters : 1
     5 parameters : 99
     6 parameters : 25
     7 3
     8 ucm@ucm-Aspire-TC-606:~/testpace$ cat for.sh 
     9 #!/bin/bash
    10 
    11 # $* $@ $#
    12 
    13 num1=$1
    14 num2=$2
    15 num3=$3
    16 
    17 sum=$(($num1+$num2+$3))
    18 echo $sum
    19 
    20 
    21 for i in "$*"
    22     do
    23         echo "The parameters is : $i"
    24     done
    25 
    26 for y in "$@"
    27     do
    28         echo "parameters : $y"
    29     done
    30 
    31 echo $#
    32 ucm@ucm-Aspire-TC-606:~/testpace$ 
    • linux预定义变量
    预定义变量 作用
    $? 最后一次执行的命令的返回状态.如果这个变量的值为0,证明上一个命令正确执行;如果这个值为非0 (具体数值,由命令自己决定),则证明上一个命令执行不正确.
    $$ 当前进程的进程号 (PID)
    $! 后台运行的最后一个进程的进程号 (PID)
     1 root@ucm-Aspire-TC-606:/home/ucm/testpace# cat predefined.sh 
     2 #!/bin/bash
     3 
     4 echo "当前PID : $$"
     5 
     6 echo "----------***********----------"
     7 echo $?
     8 
     9 find / -name pidTest >> /home/ucm/testpace/find.log &
    10 echo "后台PID : $!"
    11 root@ucm-Aspire-TC-606:/home/ucm/testpace# chmod 755 predefined.sh
    12 root@ucm-Aspire-TC-606:/home/ucm/testpace# ./predefined.sh 
    13 当前PID : 4608
    14 ----------***********----------
    15 0
    16 后台PID : 4609
    17 root@ucm-Aspire-TC-606:/home/ucm/testpace# find: ‘/run/user/1000/gvfs’: 权限不够
    18 ^C
    19 root@ucm-Aspire-TC-606:/home/ucm/testpace# cat find.log 
    20 /home/ucm/testpace/pidTest
    21 root@ucm-Aspire-TC-606:/home/ucm/testpace# 
    • 接受键盘输入

    read [option] [variable name]

    options:

      -p "提示信息" : 在等待read输入时,输出提示信息

      -t 秒数 : read命令会一直等待用户输入,使用此项可以制定等待时间

      -n 字符数 : read命令只接受指定的字符数,就会执行

      -s : 隐藏输入的数据,适用于机密信息的输入

     1 root@ucm-Aspire-TC-606:/home/ucm/testpace# cat read.sh 
     2 #!/bin/bash
     3 
     4 read -p "please input your name : " -t 30 name
     5 echo $name
     6 
     7 read -p "please input your passwd : " -s -t 30 passwd
     8 echo -e "
    "
     9 echo $passwd
    10 
    11 read -p "please input your sex [M|F] : " -n 1 sex
    12 echo -e "
    "
    13 echo $sex
    14 root@ucm-Aspire-TC-606:/home/ucm/testpace# ./read.sh 
    15 please input your name : linux
    16 linux
    17 please input your passwd : 
    18 
    19 123456
    20 please input your sex [M|F] : f
    21 
    22 f
    23 root@ucm-Aspire-TC-606:/home/ucm/testpace# 
  • 相关阅读:
    Tensorflow基础教程4:卷积神经网络(CNN)介绍
    Keras之 cifar10数据集使用keras generator读取、模型训练、预测
    Tensorflow基础教程3:基础示例:多层感知机(MLP)
    Tensorflow基础教程2:Tensorflow模型建立与训练
    Chaquopy中不能导入64位Python训练的机器学习模型
    (转)使用SDWebImage和YYImage下载高分辨率图,导致内存暴增的解决办法
    C/C++ 递归与结束递归
    C/C++ 读取文件16进制格式
    C/C++ 打开外部程序
    C/C++ 遍历托盘图标
  • 原文地址:https://www.cnblogs.com/jxdong116/p/6196029.html
Copyright © 2011-2022 走看看