我正在尝试使用chsh
命令将我的 shell 永久更改为 zsh ,但它不起作用。
zsh 已安装(通过 apt)并且当我直接从 bash 提示符终端调用它时工作正常。但是默认情况下我无法让 zsh 在终端中加载,并且 chsh 正在做一些奇怪的事情:
$ echo $SHELL
/bin/bash
$ which zsh
/usr/bin/zsh
$ chsh -s /usr/bin/zsh
Password:
$ echo $SHELL
/bin/bash
$ grep kurtosis /etc/passwd
kurtosis:x:1000:1000:kurtosis,,,:/home/kurtosis:/usr/bin/zsh
Run Code Online (Sandbox Code Playgroud)
看来 chsh 已设法正确更改 /etc/passwd,但没有正确更改 $SHELL env 变量。因此,新终端总是以 bash 而不是 zsh 开始。
我不知道去哪里解决这个问题。 .bashrc
,即使在指定 shell 之前它不会被调用?任何帮助表示赞赏。
我正在编写一个脚本来复制一些文件,并尝试使用shopt -s dotglob
cp 来复制诸如之类的点文件.jshint
。
我可以shopt -s dotglob
直接在 bash 提示符下运行,没有错误。但是,运行脚本会引发错误:
script.sh: 81: script.sh: shopt: not found
Run Code Online (Sandbox Code Playgroud)
我在 bash shell 中运行这个脚本,带有 shebang header #!/usr/bin/env bash
。错误行:
shopt -s dotglob
cp -r $TEMP/img/* $TARGET/img/
cp -r $TEMP/js/* $TARGET/js/
cp -r $TEMP/less/* $TARGET/less/
Run Code Online (Sandbox Code Playgroud)
在谷歌上找不到任何有用的东西,知道这里有什么问题吗?
我刚刚在我的主目录中注意到了这个文件 .face:
-rw-r--r-- 1 root root 14747 2012-01-07 01:35 .face
Run Code Online (Sandbox Code Playgroud)
以前从未见过或听说过,谷歌似乎也不知道。任何人有任何想法?
我正在运行 11.10 Desktop x64,在此文件的日期(2012 年 1 月 7 日)前后全新安装。
今天下午我在 Starbucks 坐下来做一些工作(Ubuntu 12.04 Desktop x64),并在系统托盘中得到了一个红圈白线错误图标,通知一个包错误。此外,apt、aptitude、update-manager 和 synaptic 都因此无法启动。
仔细一看,错误是:
> sudo aptitude install mmv
[sudo] password for kurtosis:
[ ERR] Reading package lists
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_precise_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
[ ERR] Reading package lists
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/linux.dropbox.com_ubuntu_dists_precise_main_binary-i386_Packages
E: The package lists or status file could not be parsed or …
Run Code Online (Sandbox Code Playgroud) bash ×2
apt ×1
aptitude ×1
binary ×1
command-line ×1
files ×1
hidden-files ×1
package-info ×1
scripts ×1
security ×1
zsh ×1