首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解决 Mac和Idea 终端关闭,环境变量失效,每次都需source ~.bash_profile 问题

键盘按下 I 键进入编辑模式 alias ll='ls -alF' 添加完配置,按ESC键退出编辑模式 输入 :wq 保存并退出 第三步:更新配置文件,使配置生效 source ~/.bash_profile...解决测试 命令可以正常使用了,但是还没完,每次关闭终端,还是会失效。...二.解决失效重启终端命令失效问题 最近使用mac系统每次在~/.bash_profile 配置了mvn 等环境变量,使用 source 环境变量生效,但是当终端退出,环境变量就失效。...第二步:添加 source ~/.bash_profile # 在.bash_profile 文件中添加: alias ll='ls -alF' 第三步执行:source .zshrc 第三.切换用户...切换用户系统会先将PATH设为初始值,然后再根据调用的初始化脚本,添加PATH中的路径。并不是所有用户共用一个PATH。 su – root,产生一个登录shell去执行后面的指令。

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

为什么相同的消息微信每次加密发送的内容都不一样?

显然,微信并不是每次发送消息都跟服务器端约定秘钥(如果那样,性能和流量恐怕大家都不能接受)。那每次加密内容都不一样到底是怎样实现的呢? 基本思路分为两个部分 1、秘钥交换。...微信(之后称客户端)每次与微信服务器(之后称服务端)建立TCP长连接,首先进行握手操作(handshake),这个过程类似https或ssl的秘钥交换过程。 2、秘钥加盐。...在每次发送消息是,客户端向秘钥加“盐 ”,再将“盐”随着消息发往服务端。而这个“盐”,往往是消息协议中随每次消息发送变化的合法内容。 貌似这两条有点抽象,后边会有具体步骤说明。...因此seq是一个每次发送消息都会变化的量(当然seq用途远不止用于加密)。 了解了seq的概念,我们来看看加密过程。 ?...并将加密的R2发给客户端。 5、客户端采用AES算法,以R1为秘钥,解密得到R2. 至此,客户端和服务端均得到R1,R2 6、客户端发送数据。

2.6K30

Java JDK 环境搭建

【Java JDK 环境搭建】 一、为什么 Java JDK 要配置环境变量 配置环境变量,可以使 jdk 工具 全局生效!...变量 点击编辑 添加 %JAVA_HOME%\bin 添加 %JAVA_HOME%\jre\bin 逐个确定退出 四、配置测试 打开 命令行 输入 javac 输入 java 输入 java -version...关于 CLASSPATH 变量 path 的作用:path 是系统用来指定可执行文件的完整路径,即使不在 path 中设置 JDK 的路径也可执行 Java 文件,但必须把完整的路径写出来,如 C:\Program...而 CLASSPATH 是用来告诉编辑器在那里寻找 Java 编译过程中所需的包和类所以其路径中配置的是 lib 目录下的 dt.jar 和 tools.jar; 为什么没有配置 CLASSPATH 变量...(当前路径) 变量名:Path 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 注意:在 Windows10 中,Path 变量里是分条显示的,我们需要分开添加,否则无法识别

44720

Shell流程控制

当 cat 命令读完文件所有数据,将数据放入到管道中,于是 read 命令从管道中每次读取一行并将所读行赋值给变量 line,然后执行循环体,然后继续循环,直到 read 读完所有数据,循环退出。...但注意,管道两边的命令默认是在子 Shell 中执行的,所以其设置的变量在命令执行完成就消失。换句话说,在父 Shell 中无法访问这些变量。...当用户输入其所选择的项,对应项的内容保存到 name 变量,用户输入的内容保存到 REPLY 变量中。...注:REPLY 变量一般是序号值,但用户可以不按常理出牌,随意输入,所以 REPLY 保存的不一定是序号。 另外,用户做出选择 select 会执行相关命令,执行完命令后会再次让用户选择。...如果 return 在 function 之外,且不在 source 的执行过程中,则这是一个错误用法。 为什么要让 return 单独作用于 source 命令?

89100

日常开发中常遇到的一些问题和思考

集合的size会变小,这样原本的元素左边就会改变,最终循环提前退出,具体可看下面图纸解析: 解决方案: 方式1: 在调用remove方法添加:i--,让下一轮坐标重新回到删除元素的前一个(因为这样删除会让被删除元素之后的元素左边都往前移一位...变量的值一致(可以理解为版本号),如果不一致,则直接抛出ConcurrentModificationException异常。...实际上modCount变量表示的含义是集合被修改的次数,每次对集合进行add或者remove的时候,则会对它进行+1,在调用集合的remove方法时,该变量的值会被加1,但是expectedModCount...了解完解决方案,我们再来深入研究下抛出异常的目的是为什么呢?...==还是equals比较结果都是true,因为它们是直接取的缓存中的值,但是不在这个范围内的话,则返回的是false。

17110

Python入门指南:从零开始学习Python编程

在安装过程中,请务必勾选“将Python添加到系统环境变量”选项,以便能在命令行中运行Python。...定义变量可以使用变量名来访问变量值。 变量即是可以变化的量,可以随时进行修改。 程序就是用来处理数据的,而变量就是用来存储数据的。...是否在列表中 # food = input('请输入您想吃的食物') # # if food in food_list: # print('在') # else: # print('不在...,一边拉去') # not in ball_list = ['篮球','台球'] # 在控制台上输入你喜欢的球类 然后判断是否不在这个列表中 ball = input('请输入您喜欢的球类')...,一边拉去') # not in ball_list = ['篮球','台球'] # 在控制台上输入你喜欢的球类 然后判断是否不在这个列表中 ball = input('请输入您喜欢的球类')

24420

深入浅出JavaScript之闭包(Closure)

下面写下我的学习笔记~ 闭包-无处不在 在前端编程中,使用闭包是非常常见的,我们经常有意无意,直接或间接用到了闭包。闭包可以使传递数据更加灵活(比如处理一些点击事件) !...localVal,在outer()调用结束,再次调用func()的时候,仍然能访问到outer()的局部变量localVal 闭包的概念 闭包,不同于一般的函数,它允许一个函数在立即词法作用域外调用时...这证明了,函数f1中的局部变量n一直保存在内存中,并没有在f1调用后被自动清除。 为什么会这样呢?...原因就在于f1是f2的父函数,而f2被赋给了一个全局变量,这导致f2始终在内存中,而f2的存在依赖于f1,因此f1也始终在内存中,不会在调用结束,被垃圾回收机制(garbage collection)...,用立即执行的匿名函数把它包装起来,这样子做的话,每次alert(i)的值就取自闭包环境中的i,这个i来自每次循环的赋值i就能输出1,2,3了 document.body.innerHTML = "<div

46890

Git安装

开始菜单快捷方式目录:设置开始菜单中快捷方式的目录名称, 也可以选择不在开始菜单中创建快捷方式。 .修改系统的环境变量---建议选择上面两个(我是第一个) ?...修改系统的环境变量 SSL的证书的选择 ?...这就是为什么MinTTY不能完全替代windows自带的命令提示符。 参考链接:百科 10.其他的配置--默认即可 ?...第二个方法: 一定要在github中添加ssh key,然后ssh -T git@github.com。 不要在gitee里添加然后用git@github.com验证。...用来回退到上个提交的版本,做了两件事:1.修改了HEAD指向(仓库当前版本回退到上个),2.将仓库上个版本的文件覆盖到暂存区域,用以丢弃上次的提交,(工作目录,文件夹中的文件还没变) git log 查看版本提交记录 每次

62930

译文:开发人员面临的 10个最常见的JavaScript 问题

JavaScript在Web应用程序开发领域已经真正无处不在,因此是一项越来越重要的技能。 起初,JavaScript可能看起来很简单。...为什么? 在大多数其他语言中,上面的代码会导致错误,因为变量i的“生命”(即范围)将被限制在for块中。...但是,在JavaScript中,情况并非如此,即使在for循环完成变量i仍保留在作用域中,在退出循环保留其最后一个值。(顺便说一句,此行为可称为变量提升)。...所以看起来我们每次调用replaceThing都在泄漏longStr。这是为什么? 内存泄漏几乎是不可避免的JavaScript问题,如果你没有有意识地编码以避免它们。...以下是我们如何纠正JavaScript的上述问题,以实现预期行为: 在这个修订的代码版本中,每次我们通过循环时都会立即执行makeHandler,每次收到i+1的当前值并将其绑定到作用域num变量

1.2K20

面试官:在原生input上面使用v-model和组件上面使用有什么区别?

为什么需要缓存呢?因为每次更新页面都会执行一次render函数,每次执行render函数都会调用一次createElementVNode函数。...还有就是在input标签的vnode中添加了一个onUpdate:modelValue的属性,属性值是一个回调函数,触发这个回调函数就会将msg变量的值更新为输入框中的最新值。...lazy:默认情况下,v-model 会在每次 input 事件更新数据。你可以添加 lazy 修饰符来改为在每次 change 事件更新数据,在input输入框中就是失去焦点时再更新数据。...但是如果只是在输入框的前后输入空格,那么经过trim处理在beforeUpdate钩子函数中就会认为输入框中的值和msg变量的值相等。...答案是msg是一个响应式变量,如果在父组件上面因为其他原因改变了msg变量的值,这个时候就需要将input输入框中的值同步更新为最新的msg变量

27421

理论 | Angular 中的响应式编程 -- 浅淡 Rx 的流式思维

作者|接灰的电子产品 原文|http://www.jianshu.com/p/925adede7c60 为什么要做响应式编程? 我给出的答案很简单:响应式编程可以让你把程序逻辑想的很清楚。...为什么这么说呢?让我们先来看一个小例子,比如我们有这样一个需求,在生日的控件之前添加一个年龄的选择,用以辅助生日的输入。...]="xxx" 指令,这个 xxx 就是你在组件中声明的 FormGroup 类型的成员变量:比如下面代码中的 form: FormGroup; 3、在组件的构造函数中取得 FormBuilder (...首先,我们并不希望每次改这个值都去监听,因为输入是一个连续事件,每一次按键都监听是不太划算的。...所幸的是,Angular 提供了对于响应式编程非常友好的设计,我们完全可以不在代码中做订阅或取消订阅的动作。那么问题来了,不订阅的话,值怎么获得呢?答案是 Async 管道。

5.2K10

深入浅出JavaScript之闭包(Closure)

下面写下我的学习笔记~ 闭包-无处不在 在前端编程中,使用闭包是非常常见的,我们经常有意无意,直接或间接用到了闭包。闭包可以使传递数据更加灵活(比如处理一些点击事件) ?...这个例子中调用outer()返回匿名函数function(),这个匿名函数中可以访问outer()的局部变量localVal,在outer()调用结束,再次调用func()的时候,仍然能访问到outer...这证明了,函数f1中的局部变量n一直保存在内存中,并没有在f1调用后被自动清除。 为什么会这样呢?...原因就在于f1是f2的父函数,而f2被赋给了一个全局变量,这导致f2始终在内存中,而f2的存在依赖于f1,因此f1也始终在内存中,不会在调用结束,被垃圾回收机制(garbage collection)...,用立即执行的匿名函数把它包装起来,这样子做的话,每次alert(i)的值就取自闭包环境中的i,这个i来自每次循环的赋值i就能输出1,2,3了 ?

37320

Centos7 普通用户加入sudo组 原

将普通用户添加到sudo组 在LINUX里当我们需要执行一条root权限的命令时,每次都要su到root,总是有些不方便?那么我们可以用sudo代替它。...默认新建的用户不在sudo组,但可以编辑/etc/sudoers文件将普通用户加入sudo组。...要注意的是修改该文件只能使用visudo命令: 1、首先切换到root #su -  (注意有- ,这和su不同,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量...,而使用带横线参数的"su -"命令则将环境变量也一起转换过去,就象用root登录一样) 2、然后 #visudo 这个和vi的用法一样,移动光标,到最后一行,按a,进入append模式,输入以下这行内容...(同理,cd到/etc/sudoers目录下,由于sudoers文件为只读权限,所以需要添加写入权限,chmod u+w sudoers 。

2.3K30

《假如编程是魔法之零基础看得懂的Python入门教程 》——(六)精简魔法更强大

,这个值需要加81次9,每次都需要显示输入的值加9的值,这时该如何进行程序的编写呢?...以上代码是可以简化的,我们查看代码中的规律,可以发现每次都是在变量a进行加9输出,我们抛开变量值的不同,每次这个逻辑都是重复的,一共重复了6次。...你可能问我为什么错?那我回答你,i变量每次循环都没进行变动,永远i的值都是0,永远小于10,会一直循环无限次。...在while循环中,每执行一次循环就会判断一次条件是否成立,假如不成立则会不执行循环;在这里需要添加变量i的增加,每循环1次则加1,一共加10次 就会条件不成立,循环不再执行。...怎运行的时候我们手动输入一个值,这个值传入一个变量中,该变量作为条件,代替以上的81次即可: a=int(input('请输入一个值,将对这个值进行6次加9,且每次都输出显示:')) print('你输入的值是

63210

AI 学习之路——轻松初探 Python 篇(二)

为什么一再强调这样做呢,在上大学的时候,每次学一门新的语言,老师都会强调让我们用命令行来编译代码,这样做不仅能帮助我们更好的理解一门语言的编译过程,而且一行一行敲出来可以更好的培养我们对这门语言的「语感...我们在控制台或者终端中输入「python3」将进入 Python 的交互式环境,在交互式环境中,我们可以直接输入代码,回车,每一行代码的结果都会被打印输出出来。...这里我们发现,输入我们输入了一个字符串并回车,交互式环境直接帮我们把这个字符串打印出来了。...2. input 我们可以通过 input() 来进行等待输入,然后把输入结果放到一个变量中,3.x可以支持中文变量名!...这让我想到了「单元测试」,测试驱动开发就是这样,如果你想让你的代码具有可测性,那你不得不在开发阶段就让代码具有良好的设计性,每一个函数都尽量只做一个事,这样才能把每一段逻辑「可命名化」。

925120

【Linux】学习笔记(二) 用户管理

su - 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的。...将其他用户加入sudo # 注意 Linux 上输入密码是不会显示的 su -l lilei sudo ls 默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入...lilei 不在 sudoers 文件中,意思就是 lilei 不在 sudo 用户组中,至于 sudoers 文件(/etc/sudoers)你现在最好不要动它,操作不慎会导致比较麻烦的后果。...使用 usermod 命令可以为用户添加用户组 但是需要 root权限 ?...删除用户组可以使用 groupdel 命令,倘若该群组中仍包括某些用户,则必须先删除这些用户,才能删除群组。 ?

45340
领券