Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。

3
如何将存储在变量中的参数传递给WGET
我正在编写一个广泛使用wget的bash脚本。为了在一处定义所有通用参数,我将它们存储在变量中。这是一段代码: useragent='--user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"' cookies_file="/tmp/wget-cookies.txt" save_cookies_cmd="--save-cookies $cookies_file --keep-session-cookies" load_cookies_cmd="--load-cookies $cookies_file --keep-session-cookies" function mywget { log "#!!!!!!!!!# WGET #!!!!!!!!!# wget $quiet $useragent $load_cookies_cmd $@" wget $useragent $load_cookies_cmd "$@" } 遗憾的是没有工作。不知何故,我缺少将参数存储在变量$ useragent,$ save_cookies_cmd,$ load_cookies_cmd以及将这些var作为参数传递的wget上的正确方法。 我想要这样的结果命令行: wget --user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0" --load-cookies /tmp/wget-cookies.txt --keep-session-cookies …

3
在屏幕上完成单词的翻译,如VIM(Bash或Tmux)
如何配置Bash,Zsh或Tmux以完成屏幕上的最后一个匹配标识符?考虑以下常见情况: $ git fetch remote: Counting objects: 16, done. remote: Compressing objects: 100% (9/9), done. remote: Total 9 (delta 4), reused 0 (delta 0) Unpacking objects: 100% (9/9), done. From /opt/git/thunder * [new branch] issue540 -> origin/issue547314 e9204cf..4d42c3f v2.1 -> origin/v2.1 我如何才能issue547在CLI上轻松完成Bash / Zsh / Tmux ?当我Tab在$ git checkout isGit有用地完成后按下时issue,但我必须自己完成数字,因为所有先前的数字实际上都与现有的Git分支匹配。 …

3
如何在bash命令管道中修改输出
例如,我从某些命令获得了一些内容 $ some-command John Bob Lucy 现在,我想添加链接命令,以修改输出。 $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye 怎么写other-command?(我是bash的新手)
10 bash  pipe 

2
如何使tar使用sftp或ftp将档案保存在远程计算机上?
我想将一些非常重要的数据备份到远程计算机上。 目前,我只是通过使用以下命令将其保存到本地计算机:tar -cvjf ~/backups/Backup.tar.bz2 ~/importantfiles/* 我希望不使用其他命令将其传输到远程计算机,这意味着我只想升级此命令,以便它可以将数据传输到远程计算机。 它的设计目的是在稍后要脚本中运行的脚本中,这意味着任何类型的必需用户输入都将其完全弄乱! 就像是 tar -cvjf sftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/* tar -cvjf ftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/* 将会是完美的!(没有管道(等),只有一个命令!)
10 bash  tar  ftp  remote  sftp 


2
找不到bash setenv命令
当我使用以下命令时 setenv CLASSPATH /path/mysql-connector-java-ver-bin.jar:$CLASSPATH 错误是 bash setenv command is not found 当我通过哪个命令找到setenv的路径时,我发现了以下路径 (/usr/kerberos/sbin:/usr/kerberos/bin:/home/ec2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/ec2/bin:/root/bin)

3
如何以root用户身份进入目录?
假设有一个我没有权限访问的目录。显然是sudo cd foo行不通的,因为cd每个外壳中都内置有一个外壳。 到目前为止,我一直在使用sudo bash(是的,我知道有更好的方法)来获取根提示。然后,我可以cd进入目录进行浏览。 有一个更好的方法吗?
10 bash  sudo  cd-command 

2
传递参数以保持原样
我有以下功能: bar() { echo $1:$2; } 我正在从另一个函数调用此函数foo。foo本身称为: foo "This is" a test 我想得到以下输出: This is:a 也就是说,bar接收到的参数应该与我传递给的参数相同foo。 foo为了实现这一目标需要如何实施?我已经尝试了以下两个实现,但是都没有用: foo() { bar $*; } –输出: this:is foo() { bar "$*"; } –输出: this is a test: 我的问题实际上是如何保留引号。这有可能吗?

3
cd到目录并执行许多命令
我有以下脚本。 #!/bin/bash mount /dev/sda6 /mnt/gentoo set +e cd /mnt/gentoo && mount -t proc none /mnt/gentoo/proc \ && mount --rbind /dev /mnt/gentoo/dev \ && mount --rbind /sys /mnt/gentoo/sys \ && chroot /mnt/gentoo /bin/bash \ && source /etc/profile \ && export PS1="(chroot)$PS1" 我要在这里完成的工作是更改目录/mnt/gentoo并执行一些命令。当未安装任何路径时,这第一次可以正常运行。但是,如果在某些路径上成功执行挂载后再运行它,它将无法继续,并在首次失败时停止。我希望所有命令都可以执行,即使由于“已经挂载”错误导致挂载失败。我怎样才能做到这一点? 还有没有比将所有这些命令组合在一起的更好的方法了?
10 bash 


2
刷新bash选项卡完成
我有一个用于自动完成ssh主机的脚本。但是,如果更改我~/.ssh/config的自动完成功能,则不会自动更新。这并不令我惊讶。在新的外壳中,新条目当然会被使用。 如何在bash中手动触发刷新完成?

4
bash脚本中的逻辑AND
我的ifbash脚本中有一个必须检查2个文件是否存在的文件,如果不存在,则应回显匹配。 代码我有: if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then echo "match" fi 但这出于某种原因似乎不起作用。 我有110%的肯定这两个文件不存在。我没有任何错误,只是没有输入if。 我是bash脚本的新手,所以不确定是否可能出问题。

3
使用ln创建丢失的目录
因此,我正在编写一个小型程序包管理器,遇到的一个问题是建立文件的符号链接。 它将软件包安装到/usr/pkg/name-version,然后读取文件以确定要建立的符号链接。我ln用来建立链接,尝试安装Linux API标头时遇到了问题。我需要链接头文件本身,而不是链接包含它们的文件夹(因此,如果2个软件包需要将文件放在include的相同子目录中,则可以不将一个软件包搞乱)。 我解决了那个问题,但是 ln只是错误地指出了路径是否不完整,这很烦人,因为在安装软件包之前,这些目录不应该存在。 是否有一个标记ln会创建丢失的任何目录,还是我不得不使用一些复杂的bash脚本?

2
在bash循环中排除文件
在以下脚本中,如何在循环中排除目录?我要这样做是因为所有文件都是指向此目录的符号链接,该目录位于同一级别,因此我不想添加它。 cd /var/www for dir in */ do base=$(basename "$dir") tar -czfh "${base}.tar.gz" "$dir" done
10 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.