TypechoJoeTheme

MetMan's Blog

网站页面
搜索到 80 篇与 的结果 ———只是一个默认分类
2024-01-01

M-BM-特殊字符问题

M-BM-特殊字符问题
如果你想亲手执行前面文章中一些代码示例,比如下面这段shell脚本,你用鼠标复制代码将内容粘贴到(Linux)一个文件中:#!/bin/bash myfunc() {     echo 'function arg[0]=' $0     echo 'function arg[1]=' $1     echo 'function arg[2]=' $2 } echo 'script arg[0]=' $0 echo 'script arg[1]=' $1 echo 'script arg[2]=' $2 type myfunc #使用type命令查看myfunc类型 myfunc func1 func2保存该脚本(设置可执行权限)并执行。$ ./test_func.sh hi you script arg[0]= ./test_func.sh script arg[1]= hi script arg[2]= you myfunc is a function myfunc () {     echo 'function arg[0]=' $0;     ec...
2024年01月01日
292 阅读
0 评论
2023-12-10

Shell函数语法

Shell函数语法
shell函数通过组合命令来实现特定目的及代码复用。函数定义函数定义两种写法:#第一种写法 func_name () {    cmds } #第二种写法 function func_name [()] {    cmds }不加function关键字的函数定义可移植性更好。函数必须在使用之前定义,一般在脚本开始出定义或者放在独立的脚本中用点号( . )来source引用它(这有点像其它语言include包含头文件处理)。函数调用函数调用方式与执行shell命令相同,需要提供函数名称和对应参数,参数不需要使用括号括起来。myfunc 10 true 需要注意的是,在函数体内位置参数($1 $2 ... $# $@ $*)都是该函数的参数。父脚本参数暂时被函数参数掩盖。 但$0依旧是父脚本的名称。当函数完成时,原来命令行参数会恢复。#!/bin/bash myfunc() {     echo 'function arg[0]=' $0     echo 'function arg[1]=' $1     echo 'function arg[2]=' $2 } echo ...
2023年12月10日
155 阅读
0 评论
2023-12-08

Shell单词分割引起的问题

Shell单词分割引起的问题
前文介绍shell几种展开,其中单词分割展开容易引起意想不到的问题。我们来看两个例子加深下理解。示例1前文提到的脚本示例:#!/bin/bash num_files=0 for file in ~/sample/*.txt do echo $file num_files=$((num_files + 1)) done echo num of files is $num_files我们使用echo $file打印出每个文件名,这里的$file没有加上双引号,会进行单词分割展开,如果只是单纯打印到屏幕,问题不大。但假如我们需要对每个文件进行处理,比如将每个文件内容追加到同一个文件total.txt里:#!/bin/bash > total.txt for file in ~/sample/*.txt do echo $file cat $file >> total.txt done脚本执行信息:/home/user/sample/a.txt /home/user/sample/b c.txt cat: /home/user/sam...
2023年12月08日
162 阅读
0 评论
2023-12-03

Shell expansion学习

Shell expansion学习
Bash在执行输入的命令前,会对输入的字符进行处理,这个过程叫(字符)展开。我们可以通过shell命令echo查看展开过程。$ echo this is a test this is a test #a与test之间只保留了一个空格 $ echo * Desktop LauncherFolder MyDocumentsshell命令在执行前将*展开成了其它东西。shell展开类型下面通过简单的例子来学习shell命令展开。比如一个常见的需求:打印出指定目录中每一个文件用于后续处理。$ cd ~/sample #其中'b c.txt'文件名有空格 a.txt 'b c.txt' d.txt下面是示例脚本:#!/bin/bash num_files=0 for file in `ls ~/sample/*.txt` do echo $file num_files=$((num_files + 1)) done echo num of files is $num_files波浪线展开~/sample/*.txtTilde expansion...
2023年12月03日
143 阅读
0 评论
2023-11-18

Intel MPI运行时错误信息诊断

Intel MPI运行时错误信息诊断
笔者开发模式主要使用“Intel Fortran Compiler + Intel MPI”组合,在开发过程中经常遇到程序运行出错情况,如果了解Intel MPI输出的运行时错误信息,这对快速定位出错原因很有帮助。下面总结几种主要遇到的错误信息,内容主要来自于Intel官网Intel MPI Troubleshooting。Bad File Descriptor错误信息运行报错信息类似于(关键词Bad file descriptor)[mpiexec@node00] HYD_sock_write (../../../../../src/pm/i_hydra/libhydra/sock/hydra_sock_intel.c:353): write error (Bad file descriptor) [mpiexec@node00] cmd_bcast_root (../../../../../src/pm/i_hydra/mpiexec/mpiexec.c:147): error sending cwd cmd to proxy [mpiexec@node00] stdin_c...
2023年11月18日
190 阅读
0 评论
2023-11-14

SSH使用遇到的问题汇总

SSH使用遇到的问题汇总
总结SSH使用时遇到的一些问题解决方法。简化SSH端口转发输入密码步骤在前面的文章中介绍了利用SSH端口转发访问内部服务器的方法,涉及到两次输入密码的过程,分别是设置SSH隧道时B机器的账户密码,和登录C机器时C账户密码。利用前面介绍的SSH免密钥登录方法简化密码输入步骤,设置方法见文章:Windows服务器无法连接问题在使用SSH端口转发服务时,有时会发现“中介”Windows机器无法SSH访问,问题在于Windows机器设置了休眠功能,导致网络无法访问。解决方法:关闭Windows机器休眠功能。在SFTP subsystem功能关闭情况下Windows FTP软件支持FileZilla不行,FileZila内部使用Putty的PSFTP功能提供连接sftp服务器,要求服务器必须有sftp subsytem。WinSCP可以,WinSCP支持SFTP和SCP协议(scp1,scp2)。由于 SCP 协议仅实现文件传输,因此 WinSCP 必须使用其他方式来实现附加功能(如目录列表)。WinSCP使用Unix-like shell命令来做到这一点。
2023年11月14日
129 阅读
0 评论
2023-11-13

MPI是一个库

MPI是一个库
MPI是消息通信标准,其实现是一个第三方库(library),但我们用比如Intel MPI的mpiifort命令编译链接源代码,这给人一种错觉就是MPI是一门编程语言,mpiifort是一个编译器。下面我们通过对mpiifort深入分析来说明MPI实际上是一个第三库的事实。mpiifort是shell脚本Intel MPI的编译链接命令mpiifort实际上是一个封装的shell脚本,用于封装查找mpi头文件/模块文件和链接相应库文件细节。$ file `which mpiifort` /opt/compiler/intel/2018_update1/compilers_and_libraries_2018.1.163/linux/mpi/intel64/bin/mpiifort: POSIX shell script, ASCII text executable打开这个shell脚本阅读脚本代码,脚本前面主要是环境变量、命令行参数处理部分,其最后核心部分是编译、链接处理,具体如下:if [ "$linking" = yes ] ; then cmd...
2023年11月13日
136 阅读
0 评论
2023-11-12

2023年了,学点搜索技术

2023年了,学点搜索技术
在信息时代,掌握一定的信息搜索技术可以帮助我们从海量信息中快速获取想要的信息、提高知识技能学习的效率。推荐大家看看油管视频搜索技术,普通人变强的唯一外挂。全套详细宝藏教程~,作者非常用心的制作,视频内容值得多看几遍学习吸收,提升自己的信息获取整理能力。更新:发现作者也在B站更新,视频地址是https://www.bilibili.com/video/BV1yw411F7J1/?spm_id_from=333.999.0.0&vd_source=bc08bd80a6bd57e97aacb39dc192b77f 。 如果你还停留在遇到问题使用"白°"搜索信息的话,真的建议看一看这个视频。中文内容创作已经从电脑端转向了移动端,从文字转到了视频。公众号、B站、小红书(这个真没想到)、抖音成为新的内容创作主要阵地。以下是我根据视频做的思维导图,如果想要高清原图,可以私信我。视频作者的一些观点:内事不决,微信搜一搜;外事不决,谷歌问一问。对于学习,尽可能寻找信息源头,一手信息。没有搜索就直接请教别人是极其不礼貌的。搜索技术 + AI = 超级搜索技术。视频来源https://www.yout...
2023年11月12日
139 阅读
0 评论

互动读者

标签云

最新回复

暂无回复

登录
X
用户名
密码