当前位置: 首页 > news >正文

【ICer的脚本练习】“精通各种语言的hello world!“

系列的目录说明请见:ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客

前言

这一节呢主要是检查一下Linux和win环境是不是能正常的支持咱们的脚本学习,所以来答应各种语言的hello world!,毕竟打印了就是学会了٩(๑❛ᴗ❛๑)۶顺便从最基础的细节咱们一点一点来。

准备工作

和之前一样,你手里应该已经有linux系统的虚拟机了,那么检查一下环境中的工具支持:

[ICer@IC_EDA /home/ICer]$which perl
/usr/bin/perl
[ICer@IC_EDA /home/ICer]$perl --versionThis is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
(with 44 registered patches, see perl -V for more detail)Copyright 1987-2012, Larry WallPerl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
[ICer@IC_EDA /home/ICer]$which python
/usr/bin/python
[ICer@IC_EDA /home/ICer]$python --version
Python 2.7.5
[ICer@IC_EDA /home/ICer]$which python3
/usr/bin/python3
[ICer@IC_EDA /home/ICer]$python3 --version
Python 3.6.8
[ICer@IC_EDA /home/ICer]$which bash
/usr/bin/bash
[ICer@IC_EDA /home/ICer]$bash --version
GNU bash, 版本 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证版本3或者更高 <http://gnu.org/licenses/gpl.html>这是自由软件,您可以自由地更改和重新发布。
在法律允许的范围内没有担保.
[ICer@IC_EDA /home/ICer]$which csh
/usr/bin/csh
[ICer@IC_EDA /home/ICer]$csh --version
tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec
[ICer@IC_EDA /home/ICer]$which tclsh
/usr/bin/tclsh
[ICer@IC_EDA /usr/local/bin]$make -v
GNU Make 4.2
为 x86_64-pc-linux-gnu 编译
Copyright (C) 1988-2016 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第 3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律允许的范围内没有其他保证。
[ICer@IC_EDA /usr/local/bin]$which awk
/usr/bin/awk
[ICer@IC_EDA /usr/local/bin]$which sed
/usr/bin/sed

然后再打开正版激活后的excel,点击“文件” - “选项” - “自定义功能区”:

好的,准备工作完成了。

第一次执行

在linux环境下右键打开终端,输入:

[ICer@IC_EDA /home/ICer]$echo 'hello world!'
hello world!

注意这里不要使用双引号,否则会报错(参见Linux -bash: !“: event not found 问题解决),那么这句话怎么转变为脚本呢?

新建一个demo文件,在里面写入:

echo "hello woirld!"

对,在脚本里就可以用双引号了,然后保存后,在终端执行以bash来执行:

[ICer@IC_EDA /home/ICer/gitee_path/ic_script_prj/hello_world]$bash ./demo
hello world!

或者将demo的文件属性改为可执行状态:

chmod a+x demo

然后就可以直接执行了:

[ICer@IC_EDA /home/ICer/gitee_path/ic_script_prj/hello_world]$./demo
hello world!

好的,到目前为止,第一个脚本执行成功了!

精通各种hello world!

perl

新建demo.pl,写入:

print "hello world!\n"

之后在终端键入:

[ICer@IC_EDA /home/ICer/gitee_path/ic_script_prj/hello_world]$perl demo.pl
hello world!

然后在demo.pl的首行写入并改为可执行属性:

#!/usr/bin/perlprint "hello world!\n"

执行脚本:

[ICer@IC_EDA /home/ICer/gitee_path/ic_script_prj/hello_world]$./demo.pl 
hello world!

首行的#!/usr/bin/perl是为这个脚本指定默认的执行语言。

python

#!/usr/bin/python3print("hello world!")

不要使用python,统一使用python3。

shell

#!/usr/bin/bashecho "hello world!"

通常来说shell默认值bash版本。

tcl

#!/usr/bin/tclshputs "hello world!"

make

新建Makefile,写入:

target:@echo "hello world!"

在终端键入make:

[ICer@IC_EDA /home/ICer/gitee_path/ic_script_prj/hello_world]$make
hello world!

awk

直接在终端键入:

[ICer@IC_EDA /home/ICer/gitee_path/ic_script_prj/hello_world]$echo 'hello world!' | awk '{print $0}'
hello world!

然后可以固化在makefile中:

target:@echo "hello world!" | awk '{print $0}'

VBA

打开excel,点击“开发工具” - “Visual Basic”,右键插入“模块”:

在模块内“插入” - “过程”:

之后在sub demo中写入:

Public Sub demo()Debug.Print "hello, world!"MsgBox "hello, world!", 3 + 48 + 256, "Demo"
End Sub

点击“运行”:

执行效果:

相关文章:

【ICer的脚本练习】“精通各种语言的hello world!“

系列的目录说明请见&#xff1a;ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客 前言 这一节呢主要是检查一下Linux和win环境是不是能正常的支持咱们的脚本学习&#xff0c;所以来答应各种语言的hello world!&#xff0c;毕竟打印了就是学会了٩(๑❛ᴗ❛๑)۶…...

解决npm install报错: No module named gyp

今天运行一个以前vue项目&#xff0c;启动时报错如下&#xff1a; ERROR Failed to compile with 1 error上午10:19:33 error in ./src/App.vue?vue&typestyle&index0&langscss& Syntax Error: Error: Missing binding D:\javacode\Springboot-MiMall-RSA\V…...

Leetcode 面试题 17.01 不用加号的加法

设计一个函数把两个数字相加。不得使用 或者其他算术运算符。 示例: 输入: a 1, b 1 输出: 2 提示&#xff1a; a, b 均可能是负数或 0结果不会溢出 32 位整数 我的答案&#xff1a; 一、信息 1.设计一个函数把两个数相加 2.不得使用或者其他运算符 3.a,b均为负数或…...

一个 MySQL 数据库死锁的案例和解决方案

本文介绍了一个 MySQL 数据库死锁的案例和解决方案。 场景 生产环境出了一个偶现的数据库死锁问题&#xff0c;导致少部分业务处理失败。 分析特征之后&#xff0c;发现是多个线程并发执行同一个方法&#xff0c;更新关联的数据时可能会出现&#xff0c;把场景简化概括一下&…...

AMBEO 双声道空间音频现已迈进直播制作领域

图片来源&#xff1a;Unsplash&#xff0c;作者&#xff1a;Bence Balla-Schottner AMBEO 双声道空间音频现已迈进直播制作领域 为所有观众解锁更加身临其境的听觉体验 森海塞尔将功能强大的 AMBEO 双声道空间音频技术引入了广播电视直播应用领域&#xff0c;对所有体育赛事广…...

在VSCode上画UML的三个插件

2023年9月2日&#xff0c;周六晚上 因为写代理模式的博客时需要画UML&#xff0c;所以就在网上找了半天&#xff0c; 最后觉得VSCode上的这三个插件比较好用 目录 三个画UML的VSCode插件PlantUMLDraw.io IntegrationUMLet我个人推荐使用PlantUML 三个画UML的VSCode插件 Pla…...

Springboot - 1.什么是springboot

&#x1f440;Spring的核心模块 Spring Framework是一个功能强大的开源框架&#xff0c;用于构建Java企业级应用程序。它提供了多个核心模块&#xff0c;每个模块都提供不同的功能&#xff0c;用于解决应用程序开发中的各种问题。以下是Spring Framework的核心模块的全面解析&…...

学习微信小程序 Westore

最近&#xff0c;接到小程序需求&#xff0c;并且是在以前公司老项目上改造&#xff0c;打开项目&#xff0c;发现却不是我想象中的那样&#xff0c;不是上来就是 Page({})&#xff0c;而是create(store,{})&#xff0c;纳尼&#xff1f;&#xff1f;&#xff1f;这什么玩意&am…...

CentOS上使用Docker安装和部署kkFileView

&#x1f388;1 参考文档 kkFileView官方文档 &#x1f680;2 安装kkFileView 拉取Redis镜像。 docker pull keking/kkfileview启动docker容器。 docker run -it -d -p 8012:8012 keking/kkfileview --restart always解释&#xff1a; docker run redis # 从kkfileview镜像运行…...

Level-based Foraging 多智能体游戏仿真环境

游戏场景测试 参考链接&#xff1a; https://kgithub.com/semitable/lb-foraging...

LeetCode-53-最大子数组和-贪心算法

贪心算法理论基础&#xff1a; 局部最优推全局最优 贪心无套路~ 没有什么规律~ 重点&#xff1a;每个阶段的局部最优是什么&#xff1f; 题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#…...

解决gitee仓库中 .git 文件夹过大的问题

最近&#xff0c;许多项目都迁移到gitee。使用的也越来越频繁&#xff0c;但是今天突然收到一个仓库爆满的提示。让我一脸懵逼。本文将详细为你解答&#xff0c;这种情况如何处理。 1、起因 我收到的报错如下&#xff1a; remote: Powered by GITEE.COM [GNK-6.4] remote: T…...

uniapp 开发小程序,封装一个方法,让图片使用线上地址

1.在main.js文件中&#xff0c;添加以下代码&#xff1a; 复制使用&#xff1a; // 图片使用网络地址 Vue.prototype.localImgSrc function(img){//项目的地址域名&#xff0c;例如百度return "https://baidu.cn/static/index/images/" img; }2.在页面中直接使用&…...

Android 12 源码分析 —— 应用层 三(SystemUIFactory及其Dependency解析)

Android 12 源码分析 —— 应用层 三&#xff08;SystemUIFactory及其Dependency解析&#xff09; 在上一篇文章中&#xff0c;介绍了SystemUI的启动流程&#xff0c;并且简单提及了Dagger2用来管理各个SystemUI中要用的依赖。而这部分代码就在&#xff1a;mContextAvailableC…...

考前冲刺上岸浙工商MBA的备考经验分享

2023年对于许多人来说都是不平凡的一年&#xff0c;历经三年的抗争&#xff0c;我们终于成功结束了疫情。而我也很幸运的被浙工商MBA项目录取&#xff0c;即将开始全新的学习生活。身为一名已在职工作6年的人&#xff0c;能够重回校园真是一种特别令人激动的体验。今天&#xf…...

XmlDocument.SelectNodes 不起作用

今天采用Xpath读取Xml节点&#xff0c;怎么都读不出。 问题分析&#xff1a; 错误代码如下&#xff1a; XmlDocument xmlD new XmlDocument();xmlD.PreserveWhitespace true;xmlD.LoadXml(xStr);xmlD.SelectNodes("job-scheduling-data/schedule/job");经排查 do…...

部署单点elasticsearch

部署elasticsearch 创建网络 因为我们还需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里先创建一个网络 docker network create es-net 拉取镜像 我们采用elasticsearch的7.12.1版本的镜像 docker pull elasticsearch:7.12.1 运行 运行docker命令&a…...

ElementUI浅尝辄止16:Tag 标签

用于标记和选择。 1.如何使用&#xff1f; 由type属性来选择tag的类型&#xff0c;也可以通过color属性来自定义背景色。<el-tag>标签一</el-tag> <el-tag type"success">标签二</el-tag> <el-tag type"info">标签三</e…...

Java虚拟机(JVM)框架

见&#xff1a;GitHub - eHackyd/Java_JVM: Java虚拟机(JVM)框架的学习笔记...

配置Publisher 的编译规则

步骤 1&#xff1a;创建ROS Package 使用以下命令创建一个新的ROS软件包&#xff1a; catkin_create_pkg my_publisher_package roscpp std_msgs步骤 2&#xff1a;编辑 CMakeLists.txt 文件 打开您的ROS软件包的 CMakeLists.txt 文件&#xff0c;通常位于软件包的根目录。您…...

ClaudeCode安装与使用全攻略

一、安装 Claude Code 1. 安装 Claude Code 1.1 安装 Git 根据需求选择对应的安装方式&#xff1a; https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git windows 版本下载地址&#xff1a; https://git-scm.com/install/windows 1.2 安装 node…...

Claude Code + OpenCode + OpenSpec 规范驱动开发实战:AI 驱动智能客服管理系统开发

当 AI 编程从“凭感觉聊天”升级为“按规范执行的流水线” 一、引言&#xff1a;AI 编程的“效率悖论” 2024 年 Google DORA 报告揭示了一个令人困惑的数据&#xff1a;AI 编码助手采用率每提升 25%&#xff0c;软件交付稳定性反而下降 7.2%。主观上开发者觉得用 AI 写代码速…...

保姆级教程:用VASP+VTST脚本搞定CI-NEB过渡态计算(从编译到出图)

从零构建VASPVTST的CI-NEB计算体系&#xff1a;科研级过渡态求解实战指南 在计算材料科学领域&#xff0c;精确确定化学反应或扩散过程的过渡态结构是理解反应机理的关键。传统NEB方法虽能描绘反应路径&#xff0c;但对鞍点的定位精度有限——这正是CI-NEB方法的价值所在。本文…...

ARM Trace Buffer架构与调试优化实践

1. ARM Trace Buffer架构解析Trace Buffer是ARM处理器中用于实时捕获指令执行轨迹的专用硬件模块&#xff0c;它通过独立的缓冲区和控制逻辑实现低开销的程序流监控。在ARMv8/v9架构中&#xff0c;Trace Buffer Extension&#xff08;TRBE&#xff09;作为可选的硬件扩展&#…...

python海龟绘图之点击屏幕事件处理

在《python海龟绘图之鼠标事件处理》中提到&#xff0c;onclick()函数能够对鼠标点击事件进行处理。但是该鼠标点击事件指的是鼠标点击到海龟图标上的事件&#xff0c;而如果要处理鼠标点击到海龟绘图窗口的任意位置事件的处理&#xff0c;则要用到onscreenclick()函数。通过on…...

【路径规划】基于A星算法实现图结构中的多机器人路径规划附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量m…...

双足机器人推进系统建模与系统辨识技术解析

1. 双足机器人推进系统建模与验证概述在机器人动力学控制领域&#xff0c;系统辨识是建立精确数学模型的关键技术。本文以美国东北大学开发的Harpy v2双足机器人为研究对象&#xff0c;重点探讨其集成推进系统的推力与扭矩特性建模方法。这款机器人高约1.2米&#xff0c;重15公…...

为新项目申请API Key并设置访问权限与用量提醒

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为新项目申请API Key并设置访问权限与用量提醒 当你开始一个新的AI应用项目&#xff0c;首要任务之一就是获取一个安全、可控的API…...

为什么你的Perplexity搜不出科学健身计划?NIST认证信息检索模型原理首度公开

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么你的Perplexity搜不出科学健身计划&#xff1f; Perplexity 作为一款以“实时网络检索大模型推理”为特色的AI搜索工具&#xff0c;其底层机制决定了它并非专为结构化健康决策而优化。当你输入“…...

别再傻傻等下载了!QMT历史数据获取的3个高效技巧(含xtquant代码示例)

QMT历史数据获取效率优化实战&#xff1a;3个让回测提速200%的高级技巧 每次打开QMT准备回测策略时&#xff0c;最让人抓狂的莫过于漫长的历史数据等待时间。作为一名量化研究员&#xff0c;我曾在数据准备环节浪费了无数个下午——直到发现这几个能彻底改变工作流的技巧。本文…...