sh脚本和bash脚本_我是如何开始使用bash脚本的

 2023-09-18 阅读 25 评论 0

摘要:sh脚本和bash脚本 前几天我写了一个剧本。 对于某些人来说,这句话听起来没什么大不了的。 对于其他人,我知道您在外面,那句话很重要。 你看,我不是程序员。 我是作家 我需要解决的问题 bash命令是什么。 我的问题很简单:我不得不将文件从

sh脚本和bash脚本

前几天我写了一个剧本。 对于某些人来说,这句话听起来没什么大不了的。 对于其他人,我知道您在外面,那句话很重要。 你看,我不是程序员。 我是作家

我需要解决的问题

bash命令是什么。 我的问题很简单:我不得不将文件从工程设计整理到我们的文档中。 这些文件可通过Web URL以.zip格式获得。 我将它们手动复制到桌面上,然后将它们移动到另一个目录结构中,以满足我的文档需求。 一个同伴给我的建议是: “为什么不只是写一个脚本来为你做呢?”

我以为“只写脚本?!?” -好像这是世界上最容易做的事情。

Google如何救援

同事的问题让我开始思考,而且我以为自己在Google上搜寻。

执行bash脚本, Linux上有哪些脚本语言?

这是我的第一个Google搜索条件,许多人可能会想:“她很笨。” 是的,虽然如此,但这确实使我走上了解决问题的道路。 最常见的结果是Bash。 嗯,我见过Bash。 哎呀,我要记录的文件之一里面有Bash,那是普遍存在的行#!/ bin / bash 。 我再次查看了该文件,我知道它在做什么,因为我必须对其进行记录。

因此,这导致了我下一个Google搜索请求。

shell脚本命令? 如何从URL下载zip文件?

那真的是我的基本任务。 我有一个带有.zip文件的URL,其中包含我需要包含在文档中的所有文件,因此我请功能强大的Google来帮助我。 那个搜索宝石以及其他一些东西使我进入了Curl。 但这是最好的部分:我不仅找到了Curl,而且热门搜索之一显示了一个Bash脚本,该脚本使用Curl下载.zip文件并将其解压缩。 那比我要求的要多,但是那时候我意识到自己在Google搜索请求中可以为我提供编写此脚本所需的信息。 因此,为了我的势头,我编写了最简单的脚本:

#!/bin/sh

curl http: // rather.long.url | tar -xz -C my_directory --strip-components = 1

看到那件事发生的时刻! 但是后来我意识到一个陷阱:URL可以更改,具体取决于我尝试访问的文件集。 我还有另一个要解决的问题,这导致我下一次搜索。

shell和bash、 如何将参数传递到Bash脚本中?

我需要能够使用不同的URL和不同的最终目录运行此脚本。 Google向我展示了如何放入$ 1$ 2等,以用脚本替换我在命令行上键入的内容。 例如:


bash myscript.sh http: // rather.long.url my_directory 

那好多了。 一切都按我需要的方式工作,具有灵活性,有一个工作脚本,而且最重要的是,我有一个简短的命令来键入并保存自己30分钟的复制粘贴咕unt声。 那是一个度过了美好的早晨。

shell脚本实战? 然后我意识到我还有另一个问题。 您看,我的记忆很短,而且我知道我只会每两个月运行一次此脚本。 那给我留下了两个问题:

  • 我将如何记住要为脚本键入的内容(URL优先?目录优先?)?
  • 如果我被卡车撞到了,另一个作家怎么会知道如何运行我的脚本?

我需要一条使用情况消息-如果我使用不正确,脚本会显示一些内容。 例如:


usage: bash yaml-fetch.sh < 'snapshot_url' > < directory > 

否则,运行脚本。 我的下一个搜索是:

脚本、 如何在Bash脚本中编写“ if / then / else”?

幸运的是,我已经知道编程中是否存在。 我只需要找出如何做。 一路上,我还学会了使用echo从Bash脚本进行打印。 我最终得到的是这样的:

#!/bin/sh

URL = $1
DIRECTORY = $2

if [ $# -eq 0 ] ;
then
echo "usage: bash yaml-fetch.sh <'snapshot_url'> <directory>" .
else

# make the directory if it doesn't already exist
echo 'create directory'

mkdir $DIRECTORY

# fetch and untar the yaml files
echo 'fetch and untar the yaml files'

curl $URL | tar -xz -C $DIRECTORY --strip-components = 1
fi

Google和脚本如何震撼我的世界

好吧,那儿有点夸张,但这是21世纪,学习新事物(尤其是一些简单的事物)比过去要容易得多。 我所学到的(除了如何编写简短的,自记录的Bash脚本之外)是,如果我有一个问题,很可能其他人之前也有相同或相似的问题。 当我感到困惑时,我可以问下一个问题,也可以问下一个问题。 最后,我不仅拥有脚本,而且还掌握了一项新技能,可以用来简化我一直在回避的其他任务。

不要让第一个脚本(或编程步骤)发挥最大作用。 这是一种技能,就像其他任何技能一样,并且这里有大量信息可以帮助您。 您无需阅读大量书籍或参加一个月的课程。 您可以通过婴儿步骤和婴儿脚本以一种更简单的方式来完成此操作,从而使您入门,然后在该技能和您的信心上建立基础。 人们总是需要编写带有所有分支,合并和错误修复的数千行代码程序。

但是,也非常需要简单的脚本和其他方式来自动化/简化任务。 这就是一些脚本和一点信心可以为您提供启动的机会。

翻译自: https://opensource.com/article/17/5/how-i-learned-bash-scripting

sh脚本和bash脚本

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/73442.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息