2020-10-22 shell.D1

it2025-09-29  4

linux命令 shell.1

shell 用户通过shell提供的界面与操作系统内核进行交互 bash是linux shell的一种,Bourne Again Shell(/bin/bash),免费!

#!一个约定,告诉系统用什么解释器来运行命令 #!/bin/bash 使用bash解释器

执行.sh文件运行shell脚本

创建文件test.sh写入一些命令

chmod -x ./test.sh 使文件具有执行权限 ./test.sh 执行脚本文件

./写的原因:执行脚本命令的时候(概括来说就是二进制文件,比如windows里面的exe文件),系统会首先检查PATH里面的变量,有的话就执行,但是加上./之后,系统就会在当前目录找

使用解释器执行脚本文件

/bin下面有sh解释器

/bin/sh test.sh 解释器执行脚本文件

变量的定义和使用

定义有效的变量并使用

name="my_name_is_grey" 不能有标点符号,不能有空格等 echo ${name} 加花括号定义变量名的边界

Sql实战11

题目

获取所有员工当前的(dept_manager.to_date=‘9999-01-01’)manager,如果员工是manager的话不显示(也就是如果当前的manager是自己的话结果不显示)。输出结果第一列给出当前员工的emp_no,第二列给出其manager对应的emp_no。

CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, -- '所有的员工编号' `dept_no` char(4) NOT NULL, -- '部门编号' `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`dept_no`)); CREATE TABLE `dept_manager` ( `dept_no` char(4) NOT NULL, -- '部门编号' `emp_no` int(11) NOT NULL, -- '经理编号' `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`dept_no`));

答案

select d.emp_no,m.emp_no from dept_emp as d inner join dept_manager as m where d.dept_no = m.dept_no and d.emp_no <> m.emp_no and m.to_date='9999-01-01';

算法题

巧用位运算,用变量的位做标志,无序开辟额外空间

题目

一个字符串,只有小写字符,删除重复字符,返回结果

要求

时间复杂度:O(n) 空间复杂度:O(1)

代码

public static String test(String str) { int flags=0;//32位 String string=""; for(int i=0;i< str.length();i++) { int curChar = str.charAt(i) - 97; int flag = 1 << curChar; int flag2 = flag & flags; if(flag2 == 0) { string += str.charAt(i); flags = flags | flag; } } return string; }

进阶: 1.数字字符和小写字母 2.所有ASCII码(128)

最新回复(0)