1.没必要这样。因为shell脚本执行的时候是在一个子shell中执行的,即使你成功的将字符串转化为命令,你也不会因为脚本执行“cd /home”而在本shell中切换到/home下。……额,是不是说的绕了。。。
创新互联专注于瑞安企业网站建设,成都响应式网站建设公司,商城网站开发。瑞安网站建设公司,为瑞安等地区提供建站服务。全流程定制网站设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
2.倘若按照你的想法,那就是一个新shell了。话句话说,你觉得像bash、sh、csh等等这些shell难道仅仅是一个脚本吗?再换句话说,难道bash仅仅是在sh的一个脚本吗?……
=====
3.假如真的需要在使用脚本的时候让使用者自己输入需要脚本执行的命令,只能用选择语句或者判断语句来匹配使用者的输入。因为使用者在使用脚本时输入给脚本的“命令”从根本上讲并不是命令,对脚本而言它仅仅是一个执行过程中的“选项”。好比“(1)删除(2)增加(3)退出... 请输入选项:”这种最平常的方式,拓展开也就是把提示去掉变成“请输入命令:”,而在使用者输入之后脚本用 if 删除==输入字符串 then 。。。这样的方式来满足需求。
======
没了。
楼主你好!
这个函数char FAR * inet_ntoa( struct in_addr in);
功能:将一个IP转换成一个互联网标准点分格式的字符串。
你可以这样做:
先定义个sockaddr_in p;
然后给p.sin_addr.s_addr=0xfeff0032;
再定义个字符指针char *a;用来存放转后的字符串
最后使用a=inet_ntoa(p.sin_addr.saddr);
下面是我写的简单的测试程序:
下面是运行的结果:
提醒下:
p.sin_addr.s_addr=0xfeff0032;这里可能涉及网络字节转换,需要用到ntohl()函数,具体情况得看你的这个0xfeff0032到底是网络字节的ip整数,还是你自己主机上的ip整数。我这把它看成是主机上的ip整数!
希望的回答对你有帮助!
*************基本
Shell命令
的使用******
1、在/home目录中创建两个文件夹,分别命名为dir1和dir2,在dir1下创建子目录d1,在dir1下创建子目录d2,分别对目录进行移动和删除的操作。
(1)在终端提示符下输入命令“mkdir
/home/dir1”,在home下创建dir1目录。输入命令“ls
/home”,可以看到dir1创建成功。
(2)在终端提示符下输入命令“mkdir
/home/dir1/d1”,在dir1下创建子目录d1。输入命令“ls
/home/dir1”,可以看到d1创建成功。
(3)在终端提示符下输入命令“mkdir
–p
/home/dir2/d2”,在home下创建子目录dir2,同时在dir2下创建子目录d2。输入命令“ls/home”,可以看到dir2创建成功。
(4)输入命令“cd
/home/dir2”,将工作路径转至/home/dir2。输入命令“ls”,可以看到d2创建成功。
(5)输入命令“cd
..”,将工作路径转至/home。
(6)输入命令“pwd”,显示当前工作路径为“/home”。
(7)输入命令“cd”,将工作路径转至用户主目录。
(8)输入命令“mv
/home/dir1/d1
/home/dir2”,将d1文件夹移动到dir2中。输入命令“ls/home/dir2”和“ls/home/dirl”,可以看到移动成功。
(9)输入命令“rmdir
/home/dir2/dl”,删除dl文件夹。输入命令“ls/home/dir2”,可以看到删除d1成功。
(10)输入命令“rmdir
–p
/home/dir2/d2”,删除dir2和d2文件夹。输入命令“ls
/home”,可以看到删除dir2成功。
2、在/home目录中创建一个名为f1的文件,对其进行复制、移动和删除等基本操作。
(1)在终端提示符下输入命令“cd
/home”,将当前的工作路径转换为/home。
(2)在终端提示符下输入命令“cat
f1”,之后输入f1的文本内容“this
is
f1”,按下Ctrl+D快捷键结束输入。输入命令“ls”可以看到f1创建成功。
(3)在终端提示符下输入命令“cp
f1
dir1”,将f1复制到文件夹dir1中,输入命令“ls
/home/dir1”,可以看到f1复制成功。
(4)输入命令“rm
f1”,删除/home中的f1文件。在出现的提示信息后输入“Y”,输入命令“ls”,可以看到f1删除成功。
(5)输入命令“mv
dirl/fl
/home”,将fl文件从dirl目录
中移动
到/home。输入命令“ls”,可以看到f1移动成功。
3、在/home目录中创建一个名为f2的文件,对其进行查找、统计等基本操作。
(1)在终端提示符下输入命令“cat
f2”,之后输入f2的文本内容如下:
Linux
is
an
operating
system
for
computers.comparable
to
Windows
or
Mac
OS
X.It
was
originally
created
starting
in
1
99
1
by
Finnish
programmer
Linus(pronounced
LEE—nus)
Torvalds
with
the
assistance
of
developers
from
around
the
globe.
按下Ctrl+D快捷键结束输入。再输入命令“ls”可以看到f2创建成功。
(2)输入命令“head
-3
f2”,查看文件前3行文本内容。
(3)输入命令“tail
-2
f2”,查看文件最后两行文本内容。
(4)输入命令“grep‘linux’f2”,查找含有字符串“linux”的文本行。
(5)输入命令“wc
-w
f2”,统计f2中的单词个数。
(6)输入命令“find
f*”,在当前目录中查找以“f”开头的文件。
4、Shell的高级应用。
(1)假定当前的目录是/home,输入命令“cd
d”之后按下
Tab键
,系统自动补全命令“cd
dir1”,按下
回车键
后工作路径从当前的目录转换到/home/dir1下。
(2)输入命令“history
5”显示最近执行的5条命令。
(3)输入命令“alias
cgdir=‘cd
/home’”,为命令“cd
/home”设置别名“cgdir”。输入命令“cgdir”,工作路径从当前的目录转换到/home下。
(4)输入命令“ls
[!a-c]*,显示开头字符不是a、b、c的文件和文件夹。
用perl切割。我给了答案。百度说违反规定。
_!! 您的申诉正在处理中,请耐心等待。nnnnnnd
echo "0123456789"|perl -n -e "s/(.)(...)(...)/\1,\2,\3,/;print;"
0,123,456,789