从linux from scratch入手,更深入的学习linux
cmd --version 会显示关于这个cmd的版本的詳細信息
如在version-check.sh脚本中
这只是看cmd版本的命令,但是通常打印的出来的内容过多,而且gnu的格式是在第一行打印出版本的所有信息,
所以只需要显示出第一行的内容,用下面的命令。
bash --version |head -n1
而如果需要把第一行中的特定的单词进行选择,如果只需要第一行中的第2到第4个单词,需要用下cut命令
bash --version | head -n1 |cut -d" " -f2-4
上面的命令中,cut是只剪出来第2到4个field,-d " "
-d这个选项比较难理解,如-d“a” 就是把字母a当做分隔字符,
如果有axxxayyyazzzabbbb , 当用-d"a"时,就会把第1个filed表示为无,第2个field就是xxx,第3个field就是yyy。
如果用cut -d"a" -f3 就会只显示field的 yyyy第三个field。
readlink命令会显示一个链接文件的具体指向的是哪个文件,
如readlink -f /bin/sh 会具体显示sh这个文件的具体指向
if [ -f filename];
if [ -e filename];
if [ -x filename];
if [ -d dirname];
在写shell脚本时,如果不知道test里面的表达式怎么写,
就用man test
判断一个文件是不是存在,-e ,-f ,
判断这个文件是否有可执行权限-x,
判断目录是否存在-d
导入临时的环境变量export NAME=value,并且打印出临时变量printenv
echo 'main(){}' > dummy.c && g++ -o dummy dummy.c
if [ -x dummy ]
then echo "g++ compilation OK";
else echo "g++ compilation failed"; fi
rm -f dummy.c dummy
编译出c程序,然后对这个文件是否可执行进行测试,如果产生了可执行的文件,说明g++编译器是没有问题的。