当前位置:首页 > 资格考试 > 正文

shell 要用${a%*" "}的方式为什么没用

shell脚本 ${a%%.*} 什么意思?

返回把 a 的值删掉匹配 .* 的后缀后的值。 比如 a=my.txt echo ${a%%.*} 或者 a=my.txt.1 echo ${a%%.*} 都会打印 my

shell脚本中的$*,$@和$

#举例说: 脚本名称叫test.sh 入参三个: 1 2 3 运行test.sh 1 2 3后 $*为"1 2 3"(一起被引号包住) $@为"1" "2" "3"(分别被包住) $#为3(参数数量)

我用shell脚本编程,有两个问题:

1 可以用grep去搜索你要的内容,grep “你要搜索的关键字” output.txt 如果是一段连续内容的话,sed命令,比如sed -n '3,6p' output.txt 就是打印output.txt文本中的3到6行的内容。 2 你是要保留数字部分么? #!/bin/bash a=$1 a=${a%%[^0-9]*} echo $a

shell中的$取变量操作

1,echo $A只是输出变量的值而已,其中的转义字符(如\n)需要在双引号中才能生效 所以输出会不一样,一个是有转义字符的,一个是没有转义字符的 2,你写的两条命令是等价的,但是 echo "${te}mp"和echo "$temp"则不等价了,这既是这种参数扩展的用处 加入 te = a; temp=b; 那么: ${te}mp=amp; $temp=b; 所以echo "${te}mp"结果是amp 而echo $temp结果是b; 这样说能明白吗?举个例子,如果你要批量给.jpg的文件命名,如果直接使用$temp.jpg那么就会有问题,因为这时候取的是temp.jpg看成一个变量,所以

为什么这样用shell不行啊

问题分析: Shell 函数只能运行一个可执行程序,如exe文件。"水边的阿狄丽娜.wma"是一个音乐文件,不能直接被shell打开,但可以用一个支持该音乐格式的播放器来打开,如Windows Media Player(默认安装在"C:\Program Files\Windows Media Player"目录下)。 解决办法一: 根据上面分析,你可以指定用WindowsMediaPlayer来打开你的这个音乐文件,代码修改如下: Private Sub Form_Load() a = "C:\Program Files\Windows Media Player\wmplayer.exe "
展开全文阅读