小编wja*_*rea的帖子

为什么我的功能没有在 PS1 中重新评估?

我正在尝试通过函数动态设置我的提示的一部分,所以在我的.bashrc我有:

asdf ()
{
    echo -n $(pwd)
}
PS1="\u@\h:\w $(asdf)\$ "
Run Code Online (Sandbox Code Playgroud)

打开一个 shell 给了我我最初的期望:

$ bash
darthbith@server:~/test /home/darthbith/test$
Run Code Online (Sandbox Code Playgroud)

但是,当我更改目录时,函数定义的部分不会改变:

darthbith@server:~/test /home/darthbith/test$ cd ~/test2
darthbith@server:~/test2 /home/darthbith/test$
Run Code Online (Sandbox Code Playgroud)

我的实际目标是当我使用漂亮的颜色和所有内容时,使用git-prompt.sh脚本来显示我的 git 存储库的分支,但问题是当我更改存储库时它永远不会更新分支名称。上面这个简单的例子是我可以为我的问题想出的最简单的复制品。

.bashrc我有整合的git-提示台词:

source ~/.git-prompt.sh
PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ "
Run Code Online (Sandbox Code Playgroud)

command-line bash prompt bashrc ps1

23
推荐指数
2
解决办法
6426
查看次数

rm:无法删除目录/:权限被拒绝

我创建了一个名为“shadi”的目录并为其设置了此权限

sinoosh@ubuntu:/home$ ls -ld shadi
drwxr-xrwx 2 root root 4096 Jul  1 01:58 shadi
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我有“其他”权限,但为什么我不能删除它?

sinoosh@ubuntu:/home$ rm -r shadi/
rm: cannot remove ‘shadi/’: Permission denied
Run Code Online (Sandbox Code Playgroud)

permissions rm

23
推荐指数
3
解决办法
29万
查看次数

我的 Ubuntu 在每次启动时都运行 fsck

每次开机都是一样的:

/dev/sda1: clean, 908443/38690816 files, 44176803/154733312 blocks
Run Code Online (Sandbox Code Playgroud)

这是 Ubuntu 用来确保文件系统一致性的某种选项还是我的硬盘有问题?fsck启动时最多需要 30 秒,否则所需时间将增加三倍。

完整输出(部分为德语):

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
fsck von util-linux 2.20.1
/dev/sda1: sauber, 908443/38690816 Dateien, 44176803/154733312 Blöcke
udevd[623]: unknown key 'SYSFS{idVendor}' in /lib/udev/rules.d/45-libticables.rules:6

udevd[623]: invalid rule '/lib/udev/rules.d/45-libticables.rules:6'

 * Starting mDNS/DNS-SD daemon                                                 [ OK ] …
Run Code Online (Sandbox Code Playgroud)

boot fsck

22
推荐指数
1
解决办法
4万
查看次数

~/.bashrc 文件是在什么时候创建的?

例如,如果我要运行命令adduser test,是否会在为用户创建主目录时自动创建 .bashrc test?如果它不是在用户创建时创建的,它是在什么条件下创建的?

另外,如果我将 .bashrc 文件添加到用户的主目录,它会被操作系统覆盖吗?

提前致谢。

command-line bash bashrc

21
推荐指数
1
解决办法
4716
查看次数

如何在 Ubuntu 16.04 和 18.04 上安装 Python 3.7?

我有几个系统。有些是 16.04 迷你服务器,我还不能更新操作系统。其他已更新到 Ubuntu 18.04。(我使用的 18.04 版本上有 Python 3.6.5)。

python3 16.04 18.04

21
推荐指数
1
解决办法
6万
查看次数

为什么“echo -e”命令似乎没有产生正确的输出?

在 Ubuntu 18.04 LTS 的终端中,当我写这个命令时:

echo -e "Hello\\\n"
Run Code Online (Sandbox Code Playgroud)

它给出了这个作为输出:

Hello\n
Run Code Online (Sandbox Code Playgroud)

但它应该打印,正如手册页所说:

Hello\

Run Code Online (Sandbox Code Playgroud)

也就是说,首先打印Hello,然后\是一个换行符(然后是另一个换行符)。问题出在哪儿?

请参阅以下几个echo -e命令及其输出

man420@man420-X542UQ:~$ echo -e "HEllo\a\a\a\a\a\a\\\n"
HEllo\n
man420@man420-X542UQ:~$ echo -e "HEllo\\\n"
HEllo\n
man420@man420-X542UQ:~$ echo -e "HEllo\a\\\n"
HEllo\n
Run Code Online (Sandbox Code Playgroud)

command-line echo

21
推荐指数
1
解决办法
1500
查看次数

我怎么知道笔记本电脑是否可以与 Ubuntu 一起使用?

我想在不久的将来某个时候购买一台笔记本电脑,但事先不知道它是否适用于 Ubuntu,这使得整个操作既危险又乏味。我想知道是否有某种官方硬件数据库,我可以在其中输入我感兴趣的笔记本电脑的名称,看看它是否是 100% 开箱即用的兼容,或者万一不是它是什么正是这不起作用(如果有办法解决它,理想情况下也是如此)。

Canonical 是否有这样的项目?

compatibility hardware

20
推荐指数
2
解决办法
2万
查看次数

如何将域设置为IP地址?

您可以访问此 IP 地址2.186.116.46(如果我的计算机在线)。我想为它分配一个域,所以我想知道当我没有 DNS 时怎么可能?我确实拥有我的域名“.com”。我的IP是静态的。

谢谢

networking dns apache2

20
推荐指数
2
解决办法
5万
查看次数

如何制作U盘交换盘?

好吧,我知道这听起来有点傻,像 USB 闪存盘这样的固态驱动器可能是地球上最不想用作交换磁盘的东西,因为它们可能会因所有读/写而很快变坏。

不管这有什么坏主意,我想知道如何将我的旧 4 gig USB 记忆棒之一制作为我指定的交换磁盘,以便当我运行 Ubuntu Precise 的计算机启动时,它将使用 USB 记忆棒作为交换。

增加挑战的几个曲折:

  1. 我正在使用的计算机是我妻子的笔记本电脑 core2 duo 并且有 4gigs 的内存

  2. 她喜欢 Ubuntu,但不相信我会备份她的高清,所以我让她在 16gb 高速 USB 2 闪存棒上持久运行 Ubuntu 12.04。

  3. 第二个 USB 记忆棒将是我的交换盘,当实时 USB 启动时,我希望它在第二个 USB 记忆棒上执行所有大量交换写入等操作

任何人都可以挑战。也许微不足道,但请放纵我:D

live-usb swap

19
推荐指数
1
解决办法
2万
查看次数

/usr/bin/env: 'python3\r': 没有那个文件或目录

我正在尝试使我的.py文件可执行,以便我可以使用 运行它们./filename.py,但它对我不起作用。

我所做的是添加shebang#!/usr/bin python3并使用命令chmod +x filename.py。当我./filename.py以普通用户身份运行时,我收到以下错误消息

bash: ./filename.py: /usr/bin: bad interpreter: Permission denied
Run Code Online (Sandbox Code Playgroud)

作为超级用户,它告诉我这个:

sudo: unable to execute ./filename.py: Permission denied
Run Code Online (Sandbox Code Playgroud)

使用通常的方法 ( python3 filename.py)打开文件效果很好。

当我将shebang更改为#!/usr/bin/env python3它时,它告诉我:

/usr/bin/env: ‘python3\r’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

python command-line bash

19
推荐指数
1
解决办法
7万
查看次数