$cat test
export var=value
$source ./test
$cat print.sh
echo $var
$chmod +x print.sh
$echo $var
value
$sudo ./print.sh
Run Code Online (Sandbox Code Playgroud)
我什么也得不到。我期待看到价值。
到底是怎么回事?
我正在为我的 .bashrc 文件添加几个别名,用于我经常使用的一些快捷方式,其中包括:
alias .="cd /;ls"
alias ..="cd ../;ls"
alias cd="cd $1;ls"
alias ls="clear;pwd;ls"
Run Code Online (Sandbox Code Playgroud)
有效的结果是,每当我导航到一个新目录时,窗口都会被清除并在顶部显示新目录及其内容。
除了 cd 别名之外,所有这些别名都有效。我尝试了多种尝试 cd 到新目录并在那里运行 ls 的组合,但似乎我只能列出目录的内容并返回到旧目录,或者成功 cd 到目录但使用生成的列表来自旧目录。
在 bash 中别名 cd (或任何带参数的命令)时,是否需要做一些特殊的事情?我觉得这是一个相对简单的任务,但我只是忽略了一些语法。
我想通过 curl 输出 awk
./jspider.sh http://www.mypage.com | grep 'resource' | awk '{print $4}' | curl OUTPUT_FROM_AWK | grep myString
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?!
我不知道后记语言。
我有一个用 bash 编写的双面打印仿真系统。它先打印奇数页,然后打印偶数页。它需要知道是否有奇数页数,以便它可以弹出最后一个没有相应偶数面的奇数页。它还使用页数进行报告。
我不知道如何正确执行此操作,因此我编写了查看结尾的代码,如有必要,还会查看 postscript 文件的开头,搜索“%%Pages:”,然后是页数。这几乎适用于除 Opera 浏览器打印的文件之外的所有内容。
任何人都可以提出另一种获取此信息的方法吗?
Postscript 文件往往相当大,有很多非人类可读的内容,所以我还没有花很多时间来介绍 Opera 中的那些。
TIA
当前代码位于:
http://sourceforge.net/projects/duplexpr/
function ps_page_ct
Run Code Online (Sandbox Code Playgroud) $ ls -l | sort -k 5 -n -r
$ ls -l | sort -k5nr
Run Code Online (Sandbox Code Playgroud)
我发现这两个命令生成相同的输出。
但我不明白为什么我可以5与n?
为什么不是语法错误?
编辑:
$ ls -l | cut -d: -n -f 2
$ ls -l | cut -d:nf2
cut: the delimiter must be a single character
Try `cut --help' for more information.
Run Code Online (Sandbox Code Playgroud)
为什么cut不表现得像sort?
我不小心将整个主目录复制到我的一个子目录中,导致我超出了服务器上的磁盘配额。
或者有谁知道如何撤消一般的命令?
我有以下 bash 脚本:
while [ $loop == "true" ]
do
//do stuff
done
Run Code Online (Sandbox Code Playgroud)
但它在 [.
这也作为守护进程运行,当停止参数传递给脚本时......循环应该。我猜将 $loop 设置为 false 会自动结束循环。
在 my 中~/.bashrc,我有几个别名,例如:
alias emacs='/Applications/Aquamacs.app/Contents/MacOS/Aquamacs'
alias octave='/Applications/Octave.app/Contents/Resources/bin/octave'
alias wine='/Applications/Wine.app/Contents/Resources/bin/wine'
alias simion='wine "/Users/hpek/.wine/drive_c/Program Files/SIMION 8.0/simion.exe"'
alias inkscape='wine "/Users/hpek/.wine/drive_c/Program Files/Inkscape/inkscape.exe"'
Run Code Online (Sandbox Code Playgroud)
我不认为这是正确的做法。别名在 bash 脚本中不起作用,并且当通过brew或安装某些东西时apt-get,它不会创建这样的别名。
这样做的正确方法是什么?
如何创建-在 Bash 中命名的别名?以下均无效:
alias -='cd -'
alias \-='cd -'
alias '-'='cd -'
Run Code Online (Sandbox Code Playgroud)
有错误:
bash: alias: -=: invalid option
alias: usage: alias [-p] [name[=value] ... ]
Run Code Online (Sandbox Code Playgroud) 我一直在尝试将特定目录中的所有文件压缩为一个 zip 文件,然后将其传输到目标服务器。我使用过的命令就像
zip -j $Zipfilename *
Run Code Online (Sandbox Code Playgroud)
问题是有时所有文件的总大小达到 > 2GB 所以我收到警告
zip warning: name not matched
Run Code Online (Sandbox Code Playgroud)
并且文件没有被压缩。有没有其他方法可以做到这一点,而不会出现上述错误?请帮帮我!!