我使用腻子 ssh 到 linux box。默认情况下,我获得带有白色前景的黑色屏幕背景。要更改颜色,我转到更改设置 -> 窗口/颜色,然后将背景颜色设置为白色,将前景色设置为黑色。这对我来说更容易。但是我似乎无法将此颜色设置设置为默认值,每次登录时,我都必须设置颜色。有人可以提出解决方案吗?
谢谢,
这个函数存在于我的一个用户的 ~/.bashrc 中:
function rm()
{
ls $*
echo "rm?"
read ans
if [ "$ans" == 'y' ]; then
/bin/rm $*
fi
}
Run Code Online (Sandbox Code Playgroud)
在我要求用户运行的 ksh 脚本中,我有这样一行:
[[ "$KEEP" = "" ]] && \rm $FILE
Run Code Online (Sandbox Code Playgroud)
虽然反斜杠转义用户定义的别名,但它不会阻止脚本运行具有相同名称的用户定义函数。结果,我的用户的 rm() 函数被调用而不是系统函数。
我发现了这个超级用户问题问题和回复,但该解决方案仅适用于内置函数,而不适用于系统命令。
强制调用 rm 命令而不是别名或函数的最佳方法是什么?我是否必须指定 rm 的完整路径以及我想确保正确执行的每个系统命令?有没有更好的办法?
我有一个 ksh 脚本调用:
while read LINE do...
输入已被重定向(未显示),以便它从管道读取输入。
问题是当管道的写入器关闭时, read 返回 false 并退出循环。
我希望它在管道关闭后继续读取(写入过程可能会不时重新启动,导致这种情况)。
我尝试将整个读取 LINE 包装在一个子外壳中并循环遍历整个子外壳,但是 read 在管道关闭后只得到一个空行,而不是像脚本正常启动时那样阻塞直到有更多输入。
几个月前,我编写了一组 bash 脚本,使用 tmux 在 AIX 7.1 服务器上创建一个简单的 IDE。我的一个脚本中存在一个错误,有时会非常快速地生成用户进程,直至达到 ulimit 设置的限制。这种情况很少发生(大约每月一次),而且我已经花了几个小时来追踪这个错误,但没有成功,所以我决定暂时,我可以简单地将我的软用户进程限制设置为低于硬限制(例如 100 而不是 1024),这样当我的错误再次出现时,服务器上的其他用户不会有明显的性能下降。不幸的是,“ulimit -Su 100”似乎在 AIX 7.1 上的 bash 中不起作用,但它在 ksh 中起作用。我已经执行了以下解决方法:
使 ksh 成为默认 shell:
$ chsh [username] /usr/bin/ksh
Run Code Online (Sandbox Code Playgroud)
将以下内容写入 ~/.kshrc:
ulimit -Su 100 # works in ksh, but not in bash
/bin/bash -il # start bash as an interactive login shell
exit # once bash exits, exit from ksh, too
Run Code Online (Sandbox Code Playgroud)
所以现在,每次我创建一个 shell 时,ksh 都会设置软用户进程限制并启动 bash 作为一个交互式登录 shell(我仍然希望 ~/.bash_profile 获得来源)。现在我想知道,在 ksh 中设置的用户进程限制是否仍然会在 bash 子 shell 中强制执行?在顶级 bash 子shell中,我运行了以下命令: …
我对 shell 脚本很陌生。
当我查看一些为ksh ( #!/bin/ksh
)编写的代码时,我看到在一个脚本中else if
也有elif
使用。
那么,shell 脚本中else if
和之间有什么区别elif
?
我正在寻找一种在 ksh 中拆分字符串的快速/简单方法。
它在每个项目之间有不同的数字分隔符(空格)。
例子:
value1 value2 value3
Run Code Online (Sandbox Code Playgroud)
有什么建议/建议吗?
ksh ×7
unix ×3
bash ×2
shell ×2
alias ×1
bashrc ×1
colors ×1
linux ×1
process ×1
productivity ×1
putty ×1
shell-script ×1
text-editing ×1
tmux ×1
ulimit ×1