foo[0]=abc
foo[1]=def
Run Code Online (Sandbox Code Playgroud)
我想要实现的是声明一个数组但不定义它,因为它不必立即定义,在大多数编程语言中它看起来像这样
int bar[100];
Run Code Online (Sandbox Code Playgroud)
这在shell脚本语言中可能吗?
因此,每次更改目录时,我都希望新路径自动以ls.
如果使用更改路径,有一些解决方案,cd但我从未找到可以在使用该autocd选项更改路径时工作的解决方案。
会很方便,以前有人实现过吗?
我有一大堆别名命令 .bash_aliases
最通用的例子是
alias apt-update="sudo apt-get update"
alias apt-upgrade="sudo apt-get dist-upgrade"
Run Code Online (Sandbox Code Playgroud)
但我也有
alias apt-install="sudo apt-get install "
alias a2avail="/etc/apache2/sites-available"
Run Code Online (Sandbox Code Playgroud)
前两个没问题,后两个我想做更强大的;
特别是apt-install我希望自动完成工作。
对于 a2avail,我希望能够输入类似的内容sudo cp a2avail/default a2avail/new并将其作为sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/new
这两种情况中的任何一种都可能吗?
我刚刚给自己买了一台 Ubuntu 服务器,出于某种原因,Ctrl+C不会终止我正在运行的进程。我在两个终端 Cygwin 和 putty 上运行了这个命令,并使用 ssh 登录。
我可以在本地使用该命令,这不是问题,在使用 Solaris 的其他机器上也是如此。我已经阅读了本网站上与此问题相关的其他一些帖子,但是,我的问题仍未解决。
由于该命令在本地工作,我相当有信心这不是 bash 中需要设置的内容。(我在我使用的所有机器上都使用 bash)。我不会尝试使用此命令来关闭像 man 或更少的进程,只是脚本和您希望它可以工作的标准进程。
我也尝试过Ctrl+Z但它不能正常工作所以不确定为什么它不会选择任何这些非常有用的命令。这对我来说非常烦人。
我想尽可能多地了解 Ubuntu,因为我对它的经验很少,如果您有解决方案,您能否包含尽可能多的细节?
这是我的 stty -a:
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; …Run Code Online (Sandbox Code Playgroud) pwd | grep 'database$'
if [ "$?" = 0 ]; then
echo "has db"
cd ..
cd ..
echo "after has db"
fi
Run Code Online (Sandbox Code Playgroud)
执行后我看到
has db
after has db
Run Code Online (Sandbox Code Playgroud)
我仍然在同一个目录中,如何解决它?
这不是 Ubuntu 特定的问题,它适用于所有 unix/linux。
我怎样才能运行这样的命令:
find . -maxdepth 1 -type d -print -exec svn info "{}" | grep URL \;
Run Code Online (Sandbox Code Playgroud)
上面的命令没有做我想要的,我似乎无法将 svn 信息的输出通过管道传输到 grep。
这有效,但输出包含的内容比我需要的要多得多:
find . -maxdepth 1 -type d -print -exec svn info "{}" \;
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?