首页 >>  正文

sh脚本教程

来源:baiyundou.net   日期:2024-09-24

作者:蜘蛛抱蛋

虽然NAS的shell后台并不常用,但每次用的时候都想吐槽,自带的bash是真的难用。所以决定给它换成zsh。参考网上几篇古老的教程,终于是成功了,这里简单记录一下。

首先安装Entware。首先从myqnap网站下载entware-std传到NAS上,ssh登录admin,"sh Entware_1.03std.qpkg"安装。试一下opkg命令,无效的话重新登陆ssh或执行/etc/init.d/Entware.sh。然后"opkg update && opkg install git git-http zsh"

接下来安装oh-my-zsh,可以按照官网操作,网络问题的话就用离线方式。装好之后默认在/root目录下生成三个文件

  • .zshrc

  • .oh-my-zsh(文件夹)

  • .zsh_history

重点来了,平时我们并不用root登录,而且重启之后root文件夹也会清空。这里借助entware的启动脚本转移zsh的配置文件。打开"/share/CACHEDEV1_DATA/.qpkg/Entware/Entware.sh",在"start)"区块最后加上自启动脚本,就像这样

写脚本之前先在"/share/CACHEDEV1_DATA"或者其它位置新建".zsh"目录,把上面三个文件mv过去,这个目录可以放在任何不会重启丢失的路径下。修改.zsh下所有文件的权限为755,拥有者改为你正常登录ssh的用户名。

然后就是脚本内容,就像这样

第一行是为了在启动时将/opt/bin加入环境变量,中间三行在home目录建立的软链接,这样保证重启之后配置文件不会丢失。我另外还把hosts、apache的conf也写了进去,这样每次重启就能自动恢复相关的配置了,省的每次还要手动执行一次。

搞定之后退出登录,为了安全关闭admin账号,重启NAS。登录ssh,执行zsh就能打开新世界了。这里没有把zsh设为默认,也是担心配置文件出错导致无法登录。

最后友情提醒:公网开放ssh登录是非常危险的,分分钟变成别人的矿机。

阅读更多NAS存储精彩内容,可前往什么值得买查看

","gnid":"90d2f8a374d13cdee","img_data":[{"flag":2,"img":[{"desc":"","height":"511","title":"","url":"https://p0.ssl.img.360kuai.com/t01f3fa60ae071de53a.jpg","width":"625"},{"desc":"","height":"236","title":"","url":"https://p0.ssl.img.360kuai.com/t0146755b28b6e58caa.jpg","width":"1079"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1690966351000,"pure":"","rawurl":"http://zm.news.so.com/1c558df434a3fa30a405a792e41cb0e0","redirect":0,"rptid":"7135a95c2efc7816","rss_ext":[],"s":"t","src":"什么值得买","tag":[],"title":"NAS 篇九:QTS 5.1 从bash换到zsh并替换自启动脚本

邴婷祝2425linux 中怎样执行sh脚本 -
羊园叶15362919816 ______ 确认有X权限,绝对路径就可以执行.当前目录sh abc.sh ./abc.sh 也都可以

邴婷祝2425linux怎么添加一个开机无限循环的sh脚本? -
羊园叶15362919816 ______ 这是非常简单实现的事情,把你的脚本写成一个shell文件,例如:auto.sh,在目录/root/下.在rc.local这样写/root/auto.sh & 必须加后面的 & ,意思是后台执行,继续执行后面的语句.......

邴婷祝2425shell脚本怎么调用其他shell脚本 -
羊园叶15362919816 ______ 在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一: . ./subscript.sh 方法二: source ./subscript.sh 注意: 1.两个点之间,有空格,千万注意. 2.两个脚本不在同一目录,要用绝对路径 3.为简单起见,通常用第一种方法 ...

邴婷祝2425在Linux上写一个sh脚本,脚本内容中执行步骤为 -
羊园叶15362919816 ______ /home/rwl/jdk/bin/jar cf oss.jar org 这句就让你挂起了,这句话执行不结束,下面的都白写.

邴婷祝2425怎样用vi编辑器新建shell脚本?Linux -
羊园叶15362919816 ______ 新建脚本 vi shell.sh -->任意名称即可 #! /bin/sh -->开始输入脚本内容 ... ... 保存退出 chmod a+x shell.sh -->给脚本shell.sh执行权限 ./shell执行 或 sh shell.sh执行脚本

邴婷祝2425如何写一个sh脚本,输出一段当前系统日期到文档aa.txt -
羊园叶15362919816 ______ #!bin/bash time=`date "+%Y-%m-%d %H:%M:%S "` echo "${time}" > aa.txt

邴婷祝2425linux 编译程序时如何生成.sh -
羊园叶15362919816 ______ .sh 脚本是自己写的,如果想用别的脚本生成一个脚本用 cat 或者 echo 就行了.cat 可以直接处理多行:cat > aaaa.sh #!/bin/bash xxxx xx EOF echo 一次一行相对来说各有用处:echo "#!/bin/bash" >> bbbb.sh echo "xxxx" >> bbbb.sh echo "xx" >> bbbb.sh 最后就是别忘了授予可运行权限.

邴婷祝2425windows上怎么执行shell脚本 -
羊园叶15362919816 ______ 在工作中情况会在碰到linux下进行执行shell的脚本,而就会使用shell的脚本,但经常使用的Windows的系统,而想在Windows电脑中进行直接shell的脚本,而不用再进行学习其它的脚本语言. 工具/原料 Windows git 方法/步骤 1、首先电脑中需...

邴婷祝2425Linux如何编写shell脚本? -
羊园叶15362919816 ______ 一般以#!/bin/sh 开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了.Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序.以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构).当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用 sh ./file.sh 方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他).

邴婷祝2425怎样把文本写的脚本在Linux下运行 -
羊园叶15362919816 ______ 首先,用ssh或者telnet远程登陆linux,然后touch 一个脚本名(脚本以“.sh”为后缀),然后vi编辑这个脚本,把在文本写好的脚本内容复制黏贴到这个脚本中(vi的编辑,进到里面后,按“i”是输入,等黏贴完后按一下"esc键"然后按":"输入“wq”,这样就保存退出了.运行方法是"sh 刚才新建的脚本名".关于这个linux系统的学习,我一直看刘遄老师的书籍《linux就该这么学》.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024