Questions tagged «bash»

Bash是来自GNU Project的类Unix操作系统的免费外壳。

1
sed:`s'的未知选项
我试图通过使用bash脚本来更改配置文件。我使用sed命令更改如下。 VAR1=$(cat postgresql.conf | grep "shared_buffers =" | cut -d# -f1) VAR2=$(shared_buffers = 8GB) sed -ie s/${VAR1}/${VAR2}/g postgresql.conf 我尝试过,但是给了我错误。 sed:-e表达式#1,字符29:`s'的未知选项 什么东西少了?
1 linux  bash  shell 

1
终端始终使用无效的bash脚本打开
我不确定我何时或如何做到这一点但每次打开终端我都会看到以下内容: -bash: export: `/Users/derekcsm/Documents/ADT/sdk/platform-tools': not a valid identifier -bash: export: `:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin': not a valid identifier -bash: touch: No such file or directory 有没有办法清除这一点,以致每次都不会发生这种情况?

2
简单回声的模糊重定向错误
表演简单时,我遇到了一个奇怪的问题 echo 命令。谁能解释一下发生了什么?这是场景,文件夹中只有三个文件,我想用空白字符替换它们的内容。文件是: ev_tracker.css ev_tracker.html ev_tracker.js 我尝试了一个简单的命令,将空格字符回显给所有文件 $ echo \ > * 我收到以下错误: bash: *: ambiguous redirect 所以,我试着更具体...... $ echo \ > ev_tracker.* bash: ev_tracker.*: ambiguous redirect 还有更具体的...... $ echo \ > ev_tracker.{css,html,js} bash: ev_tracker.{css,html,js}: ambiguous redirect 最后,我分别对每个文件执行了操作,没​​有错误。 $ echo \ > ev_tracker.css $ echo \ > ev_tracker.html $ echo …

1
在NO_PROXY中指定域和所有子域的最佳方法是什么?
解读 NO_PROXY 环境变量 似乎没有正式标准化 。大多数特定程序的文档对其精确解释都相当模糊( 例如emacs的 )。 这让我很难回答一个我很好奇的问题: 是否 NO_PROXY=.example.com 匹配所有 example.com, subdomain.example.com 和 sub.domain.example.com? 我想设置 NO_PROXY 变量以匹配一堆主域以及这些主域的所有子域,在我的系统中尽可能多的上下文中。 有人知道吗 怎么样 多样化的实施 NO_PROXY 实际上是在实践中?为了实现我的目标,我是否需要为每个域指定以下内容?: export NO_PROXY=example.com,.example.com,*.example.com

1
如何使用scp将文件从一台服务器移动到另一台服务器?
我正在尝试使用scp将上传的文件移动到另一台服务器。以下是我正在使用的脚本和错误; “mv.sh” #!/bin/sh now=$(date +"%y-%m-%d-%M") cd /var/www/upload if [ -f /var/www/upload/* ]; then scp -P 88 * user@192.168.2.1:backup/ STATUS=$? echo "$now-S1:succesful." >> /var/log/mv_to.log else echo "$now-S1:Error!!" >> /var/log/mv_to.log fi 错误; [: 13: /var/www/upload/1.doc: unexpected operator 如果只有一个文件它可以正常工作,如果有两个或更多文件,它会说出意外的操作符。请在这里纠正我。
linux  bash  scp 

1
如何用另一个覆盖echo / printf行? (从屏幕中心开始)
我想写一个输出我选择的句子的脚本。我希望它们出现在屏幕的中央:输出第一个,然后使第二个出现在第一个。这是我的代码: COLUMNS=$(tput cols) printf "%*s\n" $((($COLUMNS)/2)) "Hey, welcome to my script!" "%\r" sleep 2 printf "%*s" $((($COLUMNS)/2)) "This is a new line!" 我的目的是用第二行覆盖第一行,方法与 telnet towel.blinkenlights.nl 在他们特定的星球大战版本的开头。我设法通过阅读另一个问题让它们出现在中心,但我发现不可能让第二行从第一行的同一行开始。有线索吗?

1
终端 - 基于通配符重命名文件
我有一个场景,我在一个文件夹中有两个文件: 1)Foo bar.pdf 2)另一个File.pdf 我将两个文件合并为一个。生成的文件必须命名为“Foo.pdf”。 所以.sh文件将包含以下函数: 检查* .pdf是否包含“bar”//检查文件夹中文件名中“bar”一词的所有PDF。 如果为TRUE($ value =“Foo.pdf”)//从文件名中提取“Foo” mkfile = $ value.pdf 因此,我最终会得到以下内容: (目录1) 文件1:Foo Blah Blah 123.pdf 文件2:另一个File.pdf ...运行脚本...... 文件3: Foo.pdf //创建文件 希望有道理吗?有谁能指出我正确的方向?
bash 

0
意外粘贴了来自windows bash shell的“set”代码
我用过 set 使用bash shell在windows上设置一些环境变量。我不确定我做了什么,也不知道这些活动在哪里。 当我做 set 从命令提示符我看到一些变量。当我做 set 从我的bash我看到这样的事情: WINDIR='C:\Windows' _= __git_all_commands= __git_diff_algorithms='myers minimal patience histogram' ... much more 我怎样才能撤消这个,它在哪里生活?


1
Linux Mint我的.bashrc有问题
我的.bashrc文件的路径是 /home/vamsi/.bashrc 奇怪的是我的文件只有我设置的路径。我想我在错误的位置使用文件或者我丢失了我的文件 .bashrc 文件,因为这里设置的环境变量都不起作用。 #ANDROID_DEV ANDROID_HOME=/opt/android-sdk-linux export ANDROID_HOME PATH= $PATH:$ANDROID_SDK_HOME/tools export PATH PATH=$PATH:$ANDROID_HOME/platform-tools export PATH PATH=$PATH:$ANDROID_HOME/build-tools export PATH #MAVEN-PATH M2_HOME=/opt/apache-maven-3.1.0 export M2_HOME M2=$PATH:$M2_HOME/bin export M2 我被提示安装maven2以便使用mvn,但无法找到android命令。 能帮我找到解决这个问题的方法吗? 编辑: 同时,我试过这个: export PATH=${PATH}:/opt/android-sdk-linux/platform-tools export PATH=${PATH}:/opt/android-sdk-linux/tools 现在,$ PATH的输出回响: bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/android-sdk-linux/platform-tools:/opt/android-sdk-linux/build-tools: No such file or directory 工作中: 1.用过 ANDROID_HOME 代替 ANDROID_SDK_HOME 2.删除之间的空格 = …

2
在我的Mac上的Emacs中,`编译命令`如何在〜/ .bashrc中看到PATH设置?
在我的Mac OSX Mavericks上的Emacs v23.4.1中,怎么能 Meta-x compile 看到 $PATH 对于我的〜/ .bashrc中设置的bash?马上, PATH=/usr/bin:/bin:/usr/sbin:/sbin 而在正常的外壳中它是 PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/adt-bundle-mac-x86_64-20130522/sdk/tools:/Applications/adt-bundle-mac-x86_64-20130522/sdk/platform-tools:/Applications/adt-bundle-mac-x86_64-20130522/sdk/tools:/Applications/adt-bundle-mac-x86_64-20130522/sdk/platform-tools 令人惊讶的是,路过 bash -c "echo $PATH" 到了 Compile Command 仍然给 /usr/bin:/bin:/usr/sbin:/sbin。 为什么Emacs没有使用我的〜/ .bashrc作为编译命令,是否有另一个使用的init文件,普通的bash shell也使用它?关于shell创建的shell有什么不同 Compile Command。
macos  bash  emacs 

0
Bash - 按有序字符子集搜索历史记录
我希望能够写作 dockercomex 并且,例如,历史匹配: docker-compose exec (...)。像这样的搜索在PyCharm中工作,它对于生产力来说非常棒。在Firefox中它是相似的,但在组之间有空格( docker com ex 对于那个例子)。 目前我在Bash中使用Ctrl-R,但它使用我的整个短语作为一个组(如 grep dockercomex $HISTFILE )。反向搜索似乎不支持任何类型的正则表达式。 我可以用: history | egrep '(docker|com|ex)',但这对于频繁使用来说不方便。如果没有更好的解决方案,我想我会写一个脚本,使它更方便,如: recently dockercomex - 返回最后n个匹配,询问我是否要执行任何(默认:最后一个)。

1
尝试在路径中执行带空格的cron脚本时出错
我有一个脚本,里面有几个rsync命令。脚本文件放在NTFS分区中,其所有者和组权限设置为root。 使用以下命令从终端手动运行文件没有问题: "/mnt/Files/Software/Software Customizations/Linux/Scripts/rsync_backup.sh" crontab条目是(我的crontab,而不是root): 0 15 * * 6 export DISPLAY=:0 && gnome-terminal -e "/mnt/Files/Software/Software Customizations/Linux/Scripts/rsync_backup.sh" 但是执行文件时出现以下错误 There was an error creating a child process for this terminal. Failed to execute child process "/mnt/Files/Software/Software" (Permission denied) 截图: 你能告诉我问题是什么吗? 看起来不像权限问题因为我可以在不使用sudo的情况下执行文件,并且路径只是部分截图,让我相信它是空格的问题。
linux  bash  cron 


1
解压缩子目录中的所有文件,并在原始目录[关闭]后重命名它们
我结束了一个奇怪的情况。我有35个文件夹。第一个命名为1,第二个命名为2,依此类推。在每个文件夹中,有4个文件。 '1.png','2.png','3. png','4.png'。在每个文件夹中,我希望运行“convert * .png -append out.pdf”,并在其原始目录(例如第一个文件夹中的“out1.pdf”)之后重命名每个“out.pdf”,然后解压每个pdf来自其原始文件夹。这可能吗?我试过循环,但我尝试的所有东西似乎都不同意命名系统。
linux  bash 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.