一分钟学会变量,别名,历史命令,一行上执行两个命令,引号的使用

简介: 变量简单说就是让某一个特定字符串代表不固定的内容,变量可分为两类:环境变量(全局变量)和普通变量(局部变量

变量

变量简单说就是让某一个特定字符串代表不固定的内容,变量可分为两类:环境变量(全局变量)和普通变量(局部变量

创建普通变量local_data=1并访问

[root@ls_nfqZ8Onc ~]# local_data=1
[root@ls_nfqZ8Onc ~]# echo $local_data 
1


创建环境变量ROOT_DATA=root, 只有root用户可以访问到

[root@ls_nfqZ8Onc ~]# vi /root/.bashrc
[root@ls_nfqZ8Onc ~]# source /root/.bashrc 
[root@ls_nfqZ8Onc ~]# echo $ROOT_DATA
root


创建环境变量USER_DATA=user, 只有普通用户可以访问到

[user1@ls_nfqZ8Onc ~]$ export USER_DATA=user
[user1@ls_nfqZ8Onc ~]$ echo $USER_DATA
user


创建环境变量DATA=all, root用户和普通用户都可以访问到

[user1@ls_nfqZ8Onc ~]# vi /etc/profile
[user1@ls_nfqZ8Onc ~]# source /etc/profile
[user1@ls_nfqZ8Onc ~]# echo $DATA
all,root


别名

创建3个文件test1.txt, test2.txt, test3.txt

[root@ls_nfqZ8Onc ~]# touch test1.txt, test2.txt, test3.txt
[root@ls_nfqZ8Onc ~]# ls
file       file3.txt  file.tar.bz2  Linux.txt        test1.txt,
file1.txt  file4      file.tar.gz   tar_file.tar.gz  test2.txt,
file2.txt  file4.txt  file.tar.xz   tar_test         test3.txt

使用find查找test1.txt,test2.txt, test3.txt

[root@ildkbkbpswtafnnq ~]# touch test1.txt test2.txt test3.txt
[root@ildkbkbpswtafnnq ~]# ls
test1.txt  test2.txt  test3.txt
[root@ildkbkbpswtafnnq ~]# find test[1-3].txt
test1.txt
test2.txt
test3.txt


使用别名: 将上边命令命名为myfind

取消别名

[root@ildkbkbpswtafnnq ~]# alias myfind=find
[root@ildkbkbpswtafnnq ~]# myfind test[1-3].txt
test1.txt
test2.txt
test3.txt
[root@ildkbkbpswtafnnq ~]# unalias myfind
[root@ildkbkbpswtafnnq ~]# myfind test[1-3].txt
-bash: myfind: command not found
[root@ildkbkbpswtafnnq ~]# find test[1-3].txt
test1.txt
test2.txt
test3.txt

历史命令

查看最近使用的10条历史命令

[root@ildkbkbpswtafnnq ~]# history 10
   10  touch test3.txt
   11  find test[1-3].txt
   12  ls
   13  find test[1-3].txt
   14  alias myfind=find
   15  myfind test[1-3].txt
   16  unalias myfind
   17  myfind test[1-3].txt
   18  find test[1-3].txt
   19  history 10


在一行上执行两个命令,打印123和从root切换到普通用户

[root@ls_nfqZ8Onc ~]# echo 123;su - user1
123
Last login: Tue Jul 19 19:57:12 CST 2022 on pts/1
[user1@ls_nfqZ8Onc ~]$ 


引号的使用举例: 无引号,单引号,双引号,反引号,$()

无引号

[user1@ls_nfqZ8Onc ~]$ echo 123
123


单引号

[user1@ls_nfqZ8Onc ~]$ echo '$data'
$data


双引号

[user1@ls_nfqZ8Onc ~]$ echo "$data"
1


反引号

反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量。尽管可以通过输入字符或者字符串来创建变量值,也可以获取来自于其他Linux命令的值。为把Linux命令的结果赋予变量,实现需要执行这个命令。如果在命令行上把Linux命令放在反引号中,这个命令会首先被执行,其结果会成为命令行的一个参数。在赋值时,通过把命令放在反引号中,以便于首先执行,命令的执行结果会被赋予一个变量。反引号可以被视为由要执行命令组成的表达式,其结果会被赋予变量。组成命令的字符本身不会被赋予。在下面的范例中,命令ls 被执行,其结果然后被赋予变量listc。ls会生成所有文件列表。这个文件列表随后被赋予变量listc。

[root@ls_nfqZ8Onc ~]# listc=`ls` 
[root@ls_nfqZ8Onc ~]# echo $listc 
file file1.txt file2.txt file3.txt file4 file4.txt file.tar.bz2 file.tar.gz file.tar.xz Linux.txt tar_file.tar.gz tar_test test1.txt, test2.txt, test3.txt


( ) 在 b a s h 中, () 在bash中,()在bash中,( )与(反引号)都是用来作命令替换的。 命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。

[root@ls_nfqZ8Onc ~]# echo today is $(date "+%Y-%m-%d")
today is 2022-07-19


相关文章
|
存储 前端开发 JavaScript
Vue3的MVVM简介详情
Vue3的MVVM简介详情
255 0
|
Linux iOS开发 MacOS
【已解决】ModuleNotFoundError: No module named ‘IPython‘
【已解决】ModuleNotFoundError: No module named ‘IPython‘
|
数据可视化 API 异构计算
一分钟部署 Llama3 中文大模型,没别的,就是快
Meta开源了80亿和700亿参数的大模型,挑战百度创始人李彦宏的观点。这些模型在性能上逼近GPT-4和Claude3。此外,一个400B的超大模型即将发布。Huggingface上已有多个Llama3中文微调版本。无GPU用户可使用量化模型在CPU上运行,如8B模型用8bit量化,70B模型用4bit量化。最佳中文微调版是zhouzr/Llama3-8B-Chinese-Chat-GGUF,可在三分钟内通过Sealos公有云快速部署,搭配WebUI如Lobe Chat进行交互。
912 3
|
人工智能 运维
学习若依的好地方,若依社区,好的运维,社区,也可以运营自己的社区,可以用于投放软件产品和海报展示,有空可以研究怎样运行社区,好的标题设计
学习若依的好地方,若依社区,好的运维,社区,也可以运营自己的社区,可以用于投放软件产品和海报展示,有空可以研究怎样运行社区,好的标题设计
|
安全 数据安全/隐私保护
浏览器如何验证数字证书
【11月更文挑战第2天】本文介绍了数字证书的申请流程及其在HTTPS中的应用。首先,申请者需向CA机构提交包含公钥等信息的表单,经审核后,CA机构使用私钥生成数字签名并返回证书。接着,文章详细描述了浏览器验证证书的过程,包括检查有效期、吊销状态及CA机构的合法性。最后,解释了根CA与中间CA的概念,以及如何通过证书链验证证书的合法性。
|
Cloud Native 关系型数据库 MySQL
PHP的演变之路:从初生之犊到成熟框架
【8月更文挑战第20天】本文将带你穿梭时空,探索PHP这一互联网基石语言的发展历程。我们将从PHP的起源谈起,见证它如何应对时代的挑战,逐步成长为支持现代Web开发的强力工具。文章不仅追溯PHP的历史轨迹,还将深入探讨其对开发者社区的影响以及在现代技术环境中的定位和未来趋势。
230 13
|
存储 人工智能 Java
ChatGPT API接口编程基础与使用技巧
ChatGPT API接口编程基础与使用技巧
1335 0
|
传感器 编解码 前端开发
平行操控之高危作业-远程无人挖掘机优势及技术实现
无人挖掘机在土石方、煤矿开采、冶金建筑等领域发挥重要作用,通过精确导航、高精度传感与控制技术,提升作业效率与安全性。在建筑场景中,实现自主避障、自动装车等功能,提高施工效率并降低成本。应急救援时,无人挖掘机能迅速进入危险区域执行任务。技术上,利用低延迟音视频传输与控制技术,实现远程高效操控,支持多种协议与格式,确保稳定流畅的远程作业体验。
299 0
|
机器学习/深度学习 数据采集 数据可视化
利用Python进行历史数据预测:从入门到实践的两个案例分析
利用Python进行历史数据预测:从入门到实践的两个案例分析
1010 1
|
JavaScript Java 关系型数据库
小型医院医疗设备管理系统|基于springboot小型医院医疗设备管理系统设计与实现(源码+数据库+文档)
小型医院医疗设备管理系统|基于springboot小型医院医疗设备管理系统设计与实现(源码+数据库+文档)
212 0