怎样把文本写的脚本在Linux下运行

怎样把文本写的脚本在Linux下运行,第1张

首先,用ssh或者telnet远程登陆linux,然后touch 一个脚本名(脚本以“.sh”为后缀),然后vi编辑这个脚本,把在文本写好的脚本内容复制黏贴到这个脚本中(vi的编辑,进到里面后,按“i”是输入,等黏贴完后按一下"esc键"然后按":"输入“wq”,这样就保存退出了。

运行方法是"sh 刚才新建的脚本名"。关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》。

你好!

第一次在Linux下编写shell脚本,就能用这么多命令和变量,挺不错的,点个赞!

下面是我修改你的脚本:

#!/bin/bash

#this shell is used to classify seed file  to different folder.

# data文件夹中有boxing AH CH 三个文件夹,原始数据放在boxing中,希望通过执行shell将原始数据分别#存放到AH 和 CH

#!/bin/bash

#this shell is used to classify seed file  to different folder.

# data文件夹中有boxing AH CH 三个文件夹,原始数据放在boxing中,希望通过执行shell将原始数据分别#存放到AH 和 CH

clear all

path01="/home/ch/data/boxing"

path00="/home/ch/data"

cd $path01

for file in `ls `

do

    for sta in AH CH

    do

    cd $path00/$sta/

    if [ ! -e  "$file" ]then   #判断新文件夹下是否已经有这个文件

    echo -e "this $file is not in this folder--$sta.\n"

    elif [  "$file" == *.*."$sta".seed  ]||[  "$file" == *.AH.seed  ]then   #当文件符合这两个命名条件之一时执行复制

    cp $path01/$file $path00/$sta/

    else

    echo -e "this $file is not belong to the $sta folder. \n"

    fi

    done

cd $path01

done

我评价一下:

你代码的逻辑如下,不知道是不是你的本意。

如果 AH、CH中不存在boxing中的某文件,

那么输出”this $file is not in this folder--$sta.\n“

跳过下面的测试,继续下一轮循环

如果 AH、CH中存在boxing中的某文件,并且这个文件的文件名满足X条件

那么把这个文件从boxing文件夹中复制到AH或CH中

跳过下面的测试,继续下一轮循环

如果 AH、CH中存在boxing中的某文件,但这个文件的文件名不满足X条件

那么输出 "this $file is not belong to the $sta folder. \n"

跳出,继续下一轮循环

[  "$file" == *.*."$sta".seed  ]

可以匹配

..AH.seed

.t.AH.seed

003.txt.AH.seed

这样的过滤结果是你的本意吗???

下面是修改的地方:附在对比图里

首先打开命令控制台找到要编辑的文件,执行命令ls看看下面有几个文件,在这个下面有个index.php文件。

2.然后输入执行命令vi index.php。

3.如果你现在想修改index文件的内容,按下间键盘上的'i'键,最下方就会变成INSERT,这个时候就可以修改了。

4.在修改文件内容之后,输入echo的代码进行保存 Esc+:+wq 这个是保存,回车保存。

5.保存完成以后,再次打开这个文件会发现刚才写入的代码已经保存到里面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8966779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存