删除临时文件
This commit is contained in:
35
zsh2.py
35
zsh2.py
@@ -1,35 +0,0 @@
|
|||||||
import os
|
|
||||||
import re
|
|
||||||
import signal
|
|
||||||
import readline # 用于支持历史记录
|
|
||||||
|
|
||||||
# 标志位,用于处理信号
|
|
||||||
interrupted = False
|
|
||||||
|
|
||||||
def signal_handler(signal, frame):
|
|
||||||
global interrupted
|
|
||||||
interrupted = True # 设置标志位
|
|
||||||
|
|
||||||
signal.signal(signal.SIGINT, signal_handler)
|
|
||||||
|
|
||||||
os.system('clear')
|
|
||||||
|
|
||||||
def shell():
|
|
||||||
dir = os.getcwd()
|
|
||||||
if dir == '/':
|
|
||||||
CmdDir = '/'
|
|
||||||
elif re.match(dir, "/home/*"): # 用户目录下的任意文件夹
|
|
||||||
CmdDir = '~'
|
|
||||||
else:
|
|
||||||
CmdDir = dir.split('/')[-1]
|
|
||||||
print(f'20250910553@何相龙 {CmdDir} % ', end='')
|
|
||||||
cmd = input().strip() # 去除输入中的多余空白字符,包括换行符
|
|
||||||
if cmd: # 如果输入不为空,保存到历史记录
|
|
||||||
readline.add_history(cmd)
|
|
||||||
os.system(cmd)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
if interrupted:
|
|
||||||
print("\nSignal received. Type 'exit' to quit.")
|
|
||||||
interrupted = False # 重置标志位
|
|
||||||
shell()
|
|
||||||
46
zsh3.py
46
zsh3.py
@@ -1,46 +0,0 @@
|
|||||||
import os
|
|
||||||
import shlex
|
|
||||||
import subprocess
|
|
||||||
import readline
|
|
||||||
|
|
||||||
def completer(text, state):
|
|
||||||
commands = os.listdir('/bin') + os.listdir('/usr/bin') + os.listdir('/usr/local/bin')
|
|
||||||
matches = [cmd for cmd in commands if cmd.startswith(text)]
|
|
||||||
return matches[state] if state < len(matches) else None
|
|
||||||
|
|
||||||
def pseudo_zsh():
|
|
||||||
readline.parse_and_bind("tab: complete")
|
|
||||||
readline.set_completer(completer)
|
|
||||||
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
cmd = input("20240915786@\u9648\u5764\u9633 ~ % ")
|
|
||||||
|
|
||||||
if cmd.strip() == "hexianglong":
|
|
||||||
print("Exiting secret mode...")
|
|
||||||
break
|
|
||||||
|
|
||||||
args = shlex.split(cmd)
|
|
||||||
if not args:
|
|
||||||
continue
|
|
||||||
|
|
||||||
if args[0] == 'cd':
|
|
||||||
try:
|
|
||||||
os.chdir(args[1])
|
|
||||||
except IndexError:
|
|
||||||
print("cd: missing argument")
|
|
||||||
except FileNotFoundError:
|
|
||||||
print(f"cd: no such file or directory: {args[1]}")
|
|
||||||
continue
|
|
||||||
|
|
||||||
try:
|
|
||||||
subprocess.run(args)
|
|
||||||
except FileNotFoundError:
|
|
||||||
print(f"zsh: command not found: {args[0]}")
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
pass
|
|
||||||
except EOFError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
pseudo_zsh()
|
|
||||||
Reference in New Issue
Block a user