-
Shell 脚本Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。由于习惯的原因,简洁起见,本文出现的 "shell编程" 都是指 shell 脚本编程,不是指开发 shell 自身。Shell 环境Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Shell(/usr/bin/ksh)Shell for Root(/sbin/sh)……本教程关注的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。第一个shell脚本打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。输入一些代码,第一行一般是这样:实例#!/bin/bashecho "Hello World !"运行实例 »#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。echo 命令用于向窗口输出文本。运行 Shell 脚本有两种方法:1、作为可执行程序将上面的代码保存为 test.sh,并 cd 到相应目录:chmod +x ./test.sh #使脚本具有执行权限./test.sh #执行脚本注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。2、作为解释器参数这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:/bin/sh test.sh/bin/php test.php这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用
-
resnet50 编译完成之后,执行main函数报错:bash: ./main: cannot execute binary file: Exec format error
-
root@ubuntu:~# tar -xvf obsutil_linux_arm64.tar.gz obsutil_linux_arm64_5.3.4/obsutil_linux_arm64_5.3.4/setup.shobsutil_linux_arm64_5.3.4/obsutilroot@ubuntu:~# cd obsutil_linux_arm64_5.3.4/root@ubuntu:~/obsutil_linux_arm64_5.3.4# lsobsutil setup.shroot@ubuntu:~/obsutil_linux_arm64_5.3.4# bash setup.sh ./no expected param that the path of obsutil!root@ubuntu:~/obsutil_linux_arm64_5.3.4# bash setup.sh ./obsutil give /obsutil all permissions.copy /root/obsutil_linux_arm64_5.3.4/obsutil to /obsutil and give it all permissions.setup.sh: line 55: /usr/bin/obsutil: No such file or directoryroot@ubuntu:~/obsutil_linux_arm64_5.3.4# root@ubuntu:~/obsutil_linux_arm64_5.3.4# root@ubuntu:~/obsutil_linux_arm64_5.3.4# root@ubuntu:~/obsutil_linux_arm64_5.3.4# ls /usr/bin/obsutil/usr/bin/obsutilroot@ubuntu:~/obsutil_linux_arm64_5.3.4# uname -aLinux ubuntu 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:41:03 UTC 2018 aarch64 aarch64 aarch64 GNU/Linuxroot@ubuntu:~/obsutil_linux_arm64_5.3.4# obsutil config-bash: /usr/bin/obsutil: No such file or directory
-
【操作步骤&问题现象】1、本次推理的目的在于熟悉mxbase的整个推理流程2、在运行bash build.sh后首先报错无法找到文件DvppWrapper/DvppWrapper.h,于是我在cmake中将路径补全3、再次执行bash build.sh以后,又产生了一些报错,报错原因主要有从modelzoo上面的下载下来的cmake里面的路径和我拿到的华为服务器中的一些文件的安装路径不同,或者是cmake文件中的有些英文名不全4、我将这些问题解决以后再次执行bash build.sh,这次的报错就让我有些摸不着头脑了,报错中其中一条为“ error: no matching function for call to 'MxBase::Resnet50PostProcessor::Init(std::map<std::__cxx11::basic_string<char>, std::shared_ptr<void> >&)',“。为什么会产生这样的报错呢?【截图信息】报错信息截图:
-
【功能模块】工程编译【操作步骤&问题现象】1、从git上clone克隆mindspore到本地2、用bash build.sh命令编译3、根据Terminal报错修改源码错误后成功编译到100%3、执行pytest -s xxx.py 后提示缺少模块 No module named "mindspore._c_expression“【截图信息】
-
我的这个脚本任务是CV语义分割,我用callback做了一个边训练边推理,多卡部署,每张卡都会做推理,加上推理过程单周期约七分半钟。看样子我的训练作业是被Killed掉了,是因为什么才会出现这种情况?
-
我使用的是MDC300F,可以进行模型转换成.om,可以编译,但是运行就显示无法找到libascendcl.so我的环境是这样的
-
【操作步骤&问题现象】1、在部署案例crowdcounting过程中bash命令出错虚拟机使用桥接模式,虚拟机可通过ssh登陆开发板【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】npu-smi【操作步骤&问题现象】无法使用 npu-smi命令【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
问题:切换普通用户的时候报su: failed to execute /bin/bash: Permission denied错误修改了/bin/bash 和 /usr/bin/bash 为 chmod 777 问题还是没有解决分析:是/lib和/lib64的权限不够解决办法:第一步:需要修改/lib,/lib64权限为755[root@localhost home]#chmod 755 /lib[root@localhost home]#chmod 755 /lib64第二步:再次切换普通用户能正常切换
-
Atlas 500智能小站admin用户登陆SSH直接进入bash命令行,未进入IES命令行Atlas 500智能小站admin用户登陆SSH直接进入bash命令行,未进入IES命令行1、使用MobaXTerm工具,执行ssh admin@ip登录命令行2、输入su,输入“root”用户的密码Huawei@SYS33、执行usermod admin -s /usr/local/bin/clp成功后断开重新登录,进入IES命令行,修复成功
-
错误:root@DB-02 ~]# mysql -u root-bash: mysql: command not found原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:# ln -s /usr/local/mysql/bin/mysql /usr/bin以下是补充:linux下,在mysql正常运行的情况下,输入mysql提示:mysql command not found遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决:把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下: # cd /usr/local/bin# ln -fs /MYSQLPATH/bin/mysql mysql还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。注:其中MYSQLPATH是mysql的实际安装路径转自:https://www.cnblogs.com/jr1260/p/6590860.html
-
出现错误,显示当前操作系统不是x86架构 410345
-
【问题现象】升级集群前准备失败(81%),报 the environmental variable [GAUSS_ENV]'s value 查看日志:/var/log/Bigdata/mpp/omm/om/gs_local-XXXX.log【分析过程】分别在正常节点、异常节点,执行su - root -c ' source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile;echo $GAUSS_ENV'正常节点:异常节点:检查异常节点:/root/.bash_profile文件【解决办法】删除/root/.bash_profile文件的su - omm这行
上滑加载中
推荐直播
-
OpenHarmony应用开发之网络数据请求与数据解析
2025/01/16 周四 19:00-20:30
华为开发者布道师、南京师范大学泰州学院副教授,硕士研究生导师,开放原子教育银牌认证讲师
科技浪潮中,鸿蒙生态强势崛起,OpenHarmony开启智能终端无限可能。当下,其原生应用开发适配潜力巨大,终端设备已广泛融入生活各场景,从家居到办公、穿戴至车载。 现在,机会敲门!我们的直播聚焦OpenHarmony关键的网络数据请求与解析,抛开晦涩理论,用真实案例带你掌握数据访问接口,轻松应对复杂网络请求、精准解析Json与Xml数据。参与直播,为开发鸿蒙App夯实基础,抢占科技新高地,别错过!
回顾中 -
Ascend C高层API设计原理与实现系列
2025/01/17 周五 15:30-17:00
Ascend C 技术专家
以LayerNorm算子开发为例,讲解开箱即用的Ascend C高层API
回顾中
热门标签