文档详情

LinuxC自定义命令,命令别名简单Shell题目.docx

发布:2017-05-01约1.41千字共7页下载文档
文本预览下载声明
软件实习操作系统OS班级:13软件工程二班姓名:殷健学好:1345536225Linux实习题目二要求自己添加一个Linux命令cp_1,该命令可以将1个文件的若干行拷贝到另一个文件中。形式 # cp_1 file1 5 file2将file1前5行 拷贝到file2 中实现过程首先,我所理解的“添加Linux命令”大体上就是通过shell中函数function写特定代码到系统的~/.bashrc文件中。测试 .bashrc 文件的修改与使用在里面加入然后使文件生效:测试测试成功。其次,将文件头几行(尾几行)添加到另一个文件中进入 .bashrc加入简单shell代码。简单shell代码为:“head –n”打印文件的头几行““重定向到某处(插在尾部,非覆盖)运行情况:将文件1中头5行复制到文件2中成功。C++实现材料:如何将C++程序变成linux可执行命令首先,你需要在你的环境变量PATH里面,加入你的”执行程序”的路径,这样你就可以敲入”执行程序名”来执行你的程序了.至于命令后面的参数,需要在你的程序中,在main函数里面,通过argc和argv来获取和处理filepath参数,这是 linux 和windows的一个区别。 windows默认的环境变量PATH包括当前目录但unix类不包括当前目录直接在你的~目录下建立一个bin目录把你自己的程序丢进去然后在环境变量$PATH里面添加~/bin重新login或者直接source 一下设置就行了一般修改 ~/.bash_profile 文件(bash其他shell请自行入座)添加export export PATH=$PATH:/home/snyh/bin传参:argc,argv 用命令行编译程序时有用。主函数main中变量(int argc,char *argv[ ])的含义有些编译器允许将main()的返回类型声明为void,这已不再是合法的C++main(int argc, char *argv[ ], char **env)才是UNIX和Linux中的标准写法。argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数* argv[ ]: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数argv[0] 指向程序运行的全路径名argv[1] 指向在DOS命令行中执行程序名后的第一个字符串argv[2] 指向执行程序名后的第二个字符串char * 强制转换 int,用atoi()C++代码:将编译(g++ test2.cpp –o test2)好的文件test2放入新建bin文件夹,然后添加至环境变量。测试成功!!!题目二要求编写一个shell脚本。脚本程序运行时,控制台输入四个正整数(p q r s)。然后判断数字的大小,如果四个数字的和大于320,就输出“优良”;如果四个数字的和小于等于320并且大于240,就输出“及格”;其它情况输出“未通过”。如果pq,则求出p除以q的余数并输出“p mod q = ?(把计算的值代替问号)”,否则求出q除以p的余数并输出“q mod p = ? (把计算的值代替问号)”。实现过程创建test.sh文件存放脚本程序。进入编写代码。测试;三组数据95 90 90 9070 75 70 7050 50 50 50测试完成。
显示全部
相似文档