标签: bash

登录Ubuntu时如何自动执行shell脚本

如何让脚本在我登录时自动执行?不是在机器启动时,也不是对所有用户,而是仅当我(或任何具有脚本的特定用户)通过 GNOME UI 登录时。

从其他地方阅读我认为它.bash_profile在我的主目录中,但对我来说它没有影响。当我通过键入在终端窗口中手动执行它时,~/.bash_profile它可以工作,但是当我登录时它不会自动运行。

我正在运行 Ubuntu 11.04。我的 .bash_profile 的文件权限是-rwx------. 在我今天创建它之前,我的主目录中不存在 .bash_profile 。

我似乎记得旧版本的 Linux.profile为每个用户都有一个文件,但这也不起作用。

它是如何完成的?我是否需要配置其他东西才能使 .bash_profile 工作?或者每个用户的登录脚本是否需要在其他文件中?

gnome bash .bash-profile ubuntu-11.04

15
推荐指数
3
解决办法
6万
查看次数

递归删除小于 1MB 的文件

如何从目录中递归删除小于 1MB 的文件?

bash

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

bash < < 语法是什么意思?

Ruby 版本管理器 (RVM) 安装如下:

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
Run Code Online (Sandbox Code Playgroud)

我理解第一个 < 的意思(将 bash 脚本提供给 bash 解释器),我对<(...)部分感到困惑。那么,这里的括号和小于号的作用。在哪些情况下我们可以使用相同的语法?

我试图在互联网上挖掘,发现这个问题/sf/ask/153173961/和这个关于 ubuntuforums 的问题:http://ubuntuforums .org/showthread.php?p=7803008但是仍然不知道为什么要使用这些括号以及为什么要使用两次输入重定向。

bash < curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer
Run Code Online (Sandbox Code Playgroud)

不一样吗?

谢谢。

bash syntax

15
推荐指数
2
解决办法
5732
查看次数

Bash,如何全局修复 ^H 和 ^?退格问题

我想解决这个常见问题,远程服务器上的 shell 认为我的终端的退格键是^?,有时它认为是^H,并且碰巧不正确并在我按下退格键时输出错误的字符。如果我将其设置为 ^H 或 ^?用stty erase ^Hstty erase ^?在我的.bashrc文件,并使用一些其他的终端访问服务器,它往往最终是错误的。所以stty erase [whatever]当我发现退格键错误时,我不得不手动输入来修复它。

我想要做的是同时绑定^?^H退格,因为如果我能做到这一点,我可以将它添加到我所有的 .bashrc 文件中,它肯定会结束这场噩梦。这可能吗?如果是这样,如何?

linux terminal bash shell bashrc

15
推荐指数
1
解决办法
3万
查看次数

使用 sed 在 Apache 配置中启用 .htaccess 文件

我正在尝试使用 Bash 脚本自动配置 Ubuntu Vagrant 框。一切都很好,但我在配置 Apache 以允许覆盖.htaccess文件时遇到了困难。在我的配置文件中,有以下块:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

我需要做的就是替换AllowOverride NoneAllowOverride all. 这似乎是 的任务sed,但<Directory>在此配置文件中还有其他块我不想允许覆盖。

当特定字符串出现在两个其他特定字符串之间时,如何使用 sed 将特定字符串替换为新字符串?

换句话说,AllowOverride None只有当它出现在<Directory /var/www/>和之间时,我该如何替换</Directory>

我可以使用以下命令来获取我感兴趣的块:

sed -n '/<Directory \/var\/www\/>/,/<\/Directory>/p' 000-default
Run Code Online (Sandbox Code Playgroud)

linux apache-http-server bash sed ubuntu

15
推荐指数
1
解决办法
4084
查看次数

除了删除文件和文件夹之外,还有其他像 scp 这样的命令吗?

我正在使用 scp 将内容复制到远程位置。但有时 scp 无法按预期工作,我发现有时复制无法正确完成(可能是当我将新文件添加到要复制的文件夹时)。

所以我想先删除远程文件夹,然后进行复制以确保我拥有我需要的东西。

是否有其他命令,如 scp(例如 srm 或 smv)?或者有没有办法删除远程文件夹和文件?

ssh bash scp

15
推荐指数
1
解决办法
3万
查看次数

如何以十六进制打印文件的前 10 个字节?

我需要从 linux mint 命令提示符以十六进制打印文件的前 10 个字节。

谁能帮我?

谢谢

linux bash command-line linux-mint

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

如何从完整路径中提取没有扩展名的文件名?

我正在尝试修正我的第一个 bash 脚本,并且有一次文件名作为 .bash 传递给脚本$1。我需要提取没有扩展名的文件名。
目前,我假设所有扩展名都是三个字母,因此我删除了最后 4 个字符以获取文件名:

a="${1:0:-4}"
Run Code Online (Sandbox Code Playgroud)

但我需要能够使用超过三个字符的扩展,就像%~n1在 Windows 中一样。
有没有办法从参数中提取没有扩展名的文件名?

linux script bash file-extension filenames

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

如何在 shell 脚本中关闭 stdin?

我有一个行为不端的程序,我需要从我的脚本中调用它。一旦在 stdin 上看到某些内容,它就会退出。有没有办法关闭标准输入?

bash shell

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

命令的反向输出

我正在尝试从

git log --branches --graph --oneline
Run Code Online (Sandbox Code Playgroud)

(遗憾的是,您无法传递--reverse给它,因为它说它与--graph.不兼容。)

有没有办法反转命令的输出?

bash git

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