我想输入一个数字,然后加税并减去折扣。
我在尝试:
#!/bin/sh
...
final_amount = $(echo "$purchase_amount+($purchase_amount * $tax)-($purchase_amount * $discount)" |bc -l)
...
Run Code Online (Sandbox Code Playgroud)
但我得到:
$ . 3_purchase_amounts.sh
...
final_amount: command not found
...
Run Code Online (Sandbox Code Playgroud) 我想弄清楚如何将位于我磁盘根目录中的文件夹(你称之为什么,home?)移动到子目录。我不是 cd 到根目录(再次不确定术语)。
当我说 root 时,这就是我认为的意思。

那么,在谈到文件系统和 UNIX 时,我的磁盘名称应该叫“Macintosh”吗?
因此,例如,我目前正在使用 cd/user/[myprofilename]/code并且我想将位于根目录的code文件移动到文件夹中。或者,也许我没有 cd 到该code文件夹,我在某个不相关的文件夹中,但仍想将该themes文件夹移动到该文件夹内code。
换句话说,如果我没有 cd 到与themes文件夹(根)相同的目录中,如何轻松地将它从您 cd 的任何位置移动到当前?
示例我试图做这样的事情,但你它不起作用:
$ mv ../themes .
Run Code Online (Sandbox Code Playgroud)
我也试过:
$ mv ~/themes .
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
更新
我刚试过/themes .,它说权限被拒绝……但这似乎想重命名/themes为./themes,至少消息是这样说的?我不想重命名我想移动它的文件夹,所以我似乎仍然以错误的方式处理它?

来自GCC 简介:
设置加载路径的最简单方法是通过环境变量
LD_LIBRARY_PATH。例如,下面的命令设置到负载路径/opt/gdbm-1.8.3/lib,使得libgdbm.so可以发现:Run Code Online (Sandbox Code Playgroud)$ LD_LIBRARY_PATH=/opt/gdbm-1.8.3/lib $ export LD_LIBRARY_PATH $ ./a.out Storing key-value pair... done.
不是LD_LIBRARY_PATHBash 的内置环境变量是否正确?否则,就没有必要了export。
Bash shell 用于PATH定位外部程序,PATH是 Bash 的内置环境变量。
Bash shell 用来LD_LIBRARY_PATH定位程序运行所依赖的共享库,那么为什么不是LD_LIBRARY_PATHBash 的内置环境变量呢?
我的文字是:
Hi
Bye
Nope
Sorry
Cya
Chill
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到:
[1] Hi
[2] Bye
[3] Nope
Run Code Online (Sandbox Code Playgroud)
等等等等?
如何创建一个脚本来检查提供的文件是否存在,如果不存在则创建错误消息。我有以下代码,但它不起作用:
#!/bin/bash
echo "enter file name:"
read source
file= $source
if [ -f "$file" ] && find "$file" | grep -q .
then
echo "the file exists."
else
echo "the file does not exist."
fi
Run Code Online (Sandbox Code Playgroud) 说我有一个 bash 脚本/home/me/test/sh:
#!/bin/bash
# cmd # here is the output of the cmd
pwd echo 'aaa' # /home/me
val=pwd echo 'aaa' # aaa
val=pwd echo 'aaa'$val # aaa
val=pwd echo 'aaa' && echo $val # aaa <and an empty line>
Run Code Online (Sandbox Code Playgroud)
我不太明白这些由空格分隔的 bash 代码是如何工作的。
顺便说一句,我提出这个问题是因为我刚刚安装了 ROS 并setup.sh生成了一个名为 bash 的脚本,我正在阅读这个脚本。有一行如下:
CATKIN_SHELL=bash /opt/ros/kinetic/_setup_util.py >> file.log
Run Code Online (Sandbox Code Playgroud) 我目前正在使用 2 个脚本。1个脚本按年份过滤文件。第二个脚本位于年子文件夹中,按月 # (01-12) 过滤。
有什么比我下面的更好的吗?
所有文件都在 1 个目录中:
来源:./tape_backup/sync1/*(140 万个文件)目标:./tape_backup/<1990 - 2019>/<01-12>/(按年/月组织)
文件名的语法:A1000_T195_R256393_D120498 094600
_D = 不重要
D = 日期开始
1-2 = 月
3-4 = 天(不重要)
5-6 = 年
7-* = 时间戳(不重要)
因此,为什么我做整个D????98
读起来像这样的东西:
for f in ./sync1 do
(检查月份和年份,然后将其 mv 放入月份和年份文件夹 /)
完成
我在 Cygwin 和服务器 2012 r2
#C:/cygwin/bin/bash
for filename in ./* ; do
if [[ $filename == *D??90 ]] ; then
mv $filename /cygdrive/d/RAID5/RAID200/invoices/1/1990/
elif [[ $filename == *D??91 ]] ; then
mv …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取第 n:th 行号之后的数据。
我有一个 1500 行的文件,但我想打印 750 行后的数据。
我尝试head过tail,但无法得到我想要的。
命令“clear”和“reset”有什么区别?
(整个问题都在标题中,但网站拒绝让我发表没有正文的帖子,因此重复)
我想自定义 shell 的提示符。$PS1和之间有什么区别$PROMPT_COMMAND,我应该使用什么变量?很高兴知道一些历史约定(过去的 shell/posix)来找出更兼容的约定。
bash ×10
shell ×5
shell-script ×3
linux ×2
arithmetic ×1
awk ×1
directory ×1
filenames ×1
for ×1
permissions ×1
prompt ×1
sed ×1
variable ×1