
用basename命令去除前面的路径得到dirtmp
EXE=`basename $PWD`注意:是反引号,键盘上ESC下方的那个按键。
这里$PWD是用的环境变量,也可以用pwd命令取得当前路径。
EXE=$(basename $(pwd))$( ) 相当于一对反引号,在多重嵌套的情况下,使用$( ) 更直观,不容易搞错。
a = char_recv[0];
b = char_recv[1];
c = char_recv[2];
d = char_recv[3];
e = char_recv[4];
在程序当前目录下建一个txt文件billtxt,文件内录入以下内容:
<pay_flowid>CTC4789</pay_flowid>
<>嗨,百度知道<dd>
<he和> hello linux
运行程序后在当前目录下生成strtxt文件,可以提取。
程序代码如下:
#include <stdioh>
#include <stringh>
#include <sys/typesh>
#include <sys/stath>
#include <fcntlh>
#define LEN 100 / 字符数,可以根据需要自己定义 /
int main(void)
{
int fd;
long len,i,flag,j;
char num[LEN],string[LEN];
fd = open("billtxt",O_RDWR);
len = read(fd,num,LEN); / read string for billtxt /
num[len] = '\0';
close(fd);
for(i=0,j=0;i<len;i++)
{
switch(num[i])
{
case '<':
{
flag=1;
break;
}
case '>':
{
flag=2;
break;
}
default:
{
if(flag==2)
{
string[j]=num[i];
j++;
}
}
}
}
string[j] = '\0';
fd = open("strtxt",O_RDWR|O_CREAT,S_IRUSR|S_IWUSR);
if(fd)
{
write(fd,string,j);
close(fd);
}
return 0;
}
Linux Bash中,数组变量的赋值有两种方法:
(1) name = (value1 valuen) // 此时下标从0开始;
(2) name[index] = value
下面以一个简单的脚本来说明,脚本内容如下:
#!/bin/bash
#定义数组
A=(a b c def)
#把数组按字符串显示输出
echo ${A[@]}
#屏幕显示:a b c def
#数组的长度表示${#A[]}
len=${#A[]}
echo ${#A[]}
#屏幕显示:4
#改变数组元素的值
A[3]='vivian'
echo ${A[]}
#屏幕显示:a b c vivian
#循环输出数组元素
i=0
while [ $i -lt $len ]
do
echo ${A[$i]}
let i++
done
#屏幕输出:
# a
# b
# c
# vivian
#循环输出数组元素的另一种写法,注意,在条件中,用#a[@]取其个数。
for ((i=0;i<${#A[@]};i=$i+1))
do
echo ${A[$i]}
done
#循环输出数组元素的另一种写法,注意,在条件中,引用变量一定要用双引号 ,否则报错。
for (( j=0; j<"$len"; j=j+1 )) //len表示数组长度值
do
echo ${A[$j]}
done
#循环输出数组元素的另一种写法,注意,${A[]}不能写成$A ,$A默认是第一个元素。 如果A="a b c ded",就可以写$A,
for value in ${A[]}
do
echo $value
done
ps:
若a=(1 2 3 4)表示所有元素,则其只能用${a[]}或者${a[@]}来表示。在a=(1 2 3 4)中,$a只是表示第一个元素1。
若a="1 2 3 4"表示所有元素,则其可以用${a[]}或者${a[@]}或者$a来表示。
假如a="1 2 3 4",则array=($a)就相当于a=(1 2 3 4),不信你可以试试echo ${array[@]}。
上面的例子还可以改写成以下内容:
for value in $A
do
echo $value
done
以上就是关于linux命令行中将一个命令的返回值赋给一个数组全部的内容,包括:linux命令行中将一个命令的返回值赋给一个数组、linux c语言 char char_recv[100] = “1,2,3,4,5“ 我想单独获取这些数据并赋值给 a,b,c,d,e应该怎么做、linux C 截取字符串放到数组中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)