sh/bash/dash/ksh/zsh等Shell脚本
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#1
帖子
由 clm0081 » 2010-01-02 11:21
我想用sh脚本来获取fdisk -l -u /dev/loop? 的start值 请问 怎么抓取这一段代码 并将其保存到一个变量里?
先谢谢了

-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#2
帖子
由 eexpress » 2010-01-02 17:40
grep啊。awk啊。sed啊。
你这没通用性。
为什么是loop。。。
● 鸣学
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#3
帖子
由 clm0081 » 2010-01-02 17:53
额···我已经知道用awk可以定位段落 但是 我要怎么定位行呢? 以loop+数字作为定位关键字 定位行 然后再用awk定位段落就能抓出来了吧 但是 要怎么定位行呢? 什么命令可以达到这个效果呢?
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#4
帖子
由 eexpress » 2010-01-02 18:02
● sudo fdisk -l|awk '/dev\/loop/ {print $3}'
● 鸣学
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#5
帖子
由 clm0081 » 2010-01-03 23:38
代码: 全选
#!/bin/sh
startn=$(fdisk -l -u /dev/loop6|awk '/dev\/loop6p/ {print $3}')
offset=$((512*$startn))
echo "$offset"
这是我写的一段···但是会报错 ···计算那里 提取出变量值 不是就是在变量名前加个$么?
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#6
帖子
由 clm0081 » 2010-01-05 10:19
我~需要帮助~i need help
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#7
帖子
由 BigSnake.NET » 2010-01-05 10:28
计算前检查 startn 是什么
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#8
帖子
由 clm0081 » 2010-01-05 17:48
7楼说的是什么意思? 请说详细点 话说···我试验过用
代码: 全选
a=3
offset=$((512*$a))
但是也提示出错
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#9
帖子
由 BigSnake.NET » 2010-01-05 17:54
autumncat@autumncat-host:~
$ a=3
Exit status: 0
autumncat@autumncat-host:~
$ offset=$((512*$a))
Exit status: 0
autumncat@autumncat-host:~
$ echo $offset
1536
Exit status: 0
你用的是bash么...
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#10
帖子
由 clm0081 » 2010-01-05 21:41
[~]# a=3
[~]# offset=$((512*$a))
[~]# echo $offset
1536
[~]# cat w.sh
a=3
offset=$((512*$a))
echo $offset
[~]# sh -x w.sh
+ a=$'3\r'
")syntax error: operand expected (error token is "
[~]#
结果是这样的
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#11
帖子
由 BigSnake.NET » 2010-01-05 21:42
用 bash, 不要用 sh
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#12
帖子
由 clm0081 » 2010-01-07 0:53
[~]# bash w.sh
")syntax error: operand expected (error token is "
是这样的么?
还是不行的说
-
sky_sust
- 帖子: 2
- 注册时间: 2009-12-12 11:07
#14
帖子
由 sky_sust » 2010-01-09 23:25
fdisk -l -u /dev/loop6 | sed -n '/^\/dev/' | awk '{print $3}'
-
clm0081
- 帖子: 49
- 注册时间: 2008-09-24 12:04
#15
帖子
由 clm0081 » 2010-01-11 23:24
14楼的命令运行后是这样大结果
[/]# fdisk -l -u /dev/loop6 | sed -n '/^\/dev/' | awk '{print $3}'
sed:-e 表达式 #1,字符 8:missing command
继续问这个问题
[~]# bash w.sh
")syntax error: operand expected (error token is "
是这样的么?
还是不行的说