Linux—— read

read标准输入命令。

1. 语法

read [-rs] [-a ARRAY] [-d delim] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [var_name1 var_name2 …]
从标准输入中读取输入的单行数据,并将读取的单行根据IFS变量分裂成多个字段,分别赋值给指定的变量数组var_name。第一个字段分配给第一个变量var_name1,第二个字段分配给第二个变量var_name2。如果指定的变量名少于字段数量,则多出的字段数量也同样分配给最后一个var_name,如果指定的变量命令多于字段数量,则多出的变量赋值为空。
如果没有指定任何var_name,则分割后的所有字段都存储在特定变量REPLY中。

2. 参数

-a:将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的index=0开始。
-d:指定读取行的结束符号。默认结束符号为换行符。
-n:限制读取N个字符就自动结束读取,如果没有读满N个字符就按下回车或遇到换行符,则也会结束读取。
-N:严格要求读满N个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。其中换行符或回车算一个字符。
-p:给出提示符。默认不支持"\n"换行,要换行需要特殊处理,见下文示例。例如,"-p 请输入密码:"
-r:禁止反斜线的转义功能。这意味着""会变成文本的一部分。
-s:静默模式。输入的内容不会回显在屏幕上。
-t:给出超时时间,在达到超时时间时,read退出并返回错误。也就是说不会读取任何内容,即使已经输入了一部分。

3. 示例

3.1 读取的内容分配给数组变量
索引号从0开始
read -a array
what is you name?
echo ${array[@]}
what is you name?
echo KaTeX parse error: Undefined control sequence: \ at position 74: …at is you name \̲ ̲#由于没有指定var_name…REPLY变量查看read读取的行。
echo $REPLY
what is you name /
3.3 限制输入字符数
read -n 5
echo $REPLY
12345
#如果输入的字符数小于5,按下回车会立即结束读取。
read -n 5
123
echo KaTeX parse error: Undefined control sequence: \n at position 42: …* read -N 5 123\̲n̲4 **3.5 输入提示** …'string’的方式实现换行
read -p $‘Enter your name: \n’
Enter your name:

$'String'和$"String"
$'String':转义输出
$"String" 不转义输出
echo 'a\nb'
a\nb
echo $'a\nb'
a
b

3.6 禁止转义
read -r
what is you name ?
echo $REPLY
what is you name ?
3.7 安全输入
read -s -p "please enter your password: "
please enter your password:
3.8 读取多个变量值
read var1 var2 var3
a b c
echo v a r 1 : : : var1::: var1:::var2:::$var3
a::🅱️::c
3.9 输入时间限制
没完成的输入将被丢弃,变量将赋值为空,如果在执行read前,变量已被赋值,则此变量在read超时后将被覆盖为空。
var=5
ead -t 3 var
1
echo $var

————Blueicex 2020/03/04 15:30 blueice1980@126.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下使用DC进行ASIC设计,一般需要以下几个步骤: 1. 安装DC:首先需要从Synopsys官网下载DC的安装包,然后按照安装指南进行安装。安装完成后需要设置环境变量,将DC的bin目录加入到系统的PATH中。 2. 创建设计库:使用DC需要先创建设计库,可以使用以下命令创建: ``` > dc_shell DC> create_library <library_name> -technology <tech_name> -vendor <vendor_name> ``` 其中,`<library_name>`为设计库名称,`<tech_name>`和`<vendor_name>`为芯片工艺和芯片厂商名称,可以根据需要进行修改。 3. 导入设计:将设计文件导入到设计库中,可以使用以下命令: ``` DC> read_file <verilog_file> ``` 其中,`<verilog_file>`为Verilog格式的设计文件路径。 4. 进行逻辑综合:使用以下命令进行逻辑综合: ``` DC> compile <top_module> ``` 其中,`<top_module>`为顶层模块的名称。 5. 进行后端物理设计:逻辑综合完成后,需要进行后端物理设计,包括布局、布线和时序优化等。可以使用DC的后端工具完成这些任务,例如Floorplan、Place-and-Route和PrimeTime等。 6. 生成最终版图:后端物理设计完成后,生成最终版图,可以使用以下命令: ``` DC> write -format verilog -hierarchy -output <output_file> ``` 其中,`<output_file>`为输出版图文件的路径。 以上是使用DC进行ASIC设计的基本步骤,具体操作需要根据实际情况进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值