POSIX compliant way of writing conditional operators In bash you can do  if [ $(echo $UID) != 0 ] then     echo "Run as root"     exit fi   This returns an error message when I run the script with dash or other POSIX-compliant shells. How do you do this in POSIX?
How to stop a script from running if it's not root (and echo "Not running as root! Exiting...") Here's my source:  #!/bin/bash  echo "Running script to free general cached memory!" echo ""; echo "Script must be run as root!"; echo ""; echo "Clearing swap!"; swapoff -a &amp;&amp; swapon -a; echo ""; echo "Clear inodes and page file!"; echo 1 &gt; /proc/sys/vm/drop_caches; echo "";   It clears caches and stuff, and it echoes that it needs to be run as root in the terminal. I basically just want the script to cease running if it detects it's not being executed as root.   Example:  "Running script to free general cached memory!" "Warning: script must be run as root or with elevated privileges!" "Error: script not running as root or with sudo! Exiting..."   If run with elevated privileges, it just runs as normal. Any ideas? Thanks!
Calculating MEAN and STANDARD DEVIATION confussed Every partially defined isometry can be extended to a isometry I know that the following theorem holds true:  Let $S$ be a subset of $\mathbb R^n$, and let $f:S\to \mathbb R^n$ a map such that $d(p,q)=d(f(p),f(q))$ for every $p,q \in S$ (here $d$ is the usual euclidean distance). Suppose that $0 \in S$ and $f(0)=0$. Then $f$ can be extended to an orthogonal transformation of $\mathbb R^n$.  I have two questions:   Can someone give me a reference of a proof of this theorem? I believe that the previous theorem holds true also if we change $\mathbb R^n$ with $\mathbb C^n$ and "orthogonal" with "unitary", with nearly the same proof. Does it holds true also in the $ \ell^2$ space? With the same proof? How does ZFC describe addition? Surprisingly, the Wikipedia article on addition doesn't contain the answer. I looked  elsewhere online for it, but didn't find it.   Intuitively, the cardinal of the union of two sets seemed appealing. But that approach doesn't work, given that the union of 2 and 2 is 2. I wondered whether ordered sets might be essential to the answer.   So, how does ZFC describe addition? resetPassword problem for enterprise users when called from a community? I'm working within a custom application in a customer community that is used by both community-license users and Salesforce enterprise users.  There is a custom Visualforce page where an application admin can select a user and reset the password.  The VF Controller is using the standard System.resetPassword() method.  We are finding that when an enterprise user receives this password reset email, the user can't get to the expected password reset page.  Instead, it eventually redirects to the community login screen.  The password reset URL for these enterprise users is based on the community's URL, and it seems that these users cannot change password through the community -- it has to be through the enterprise URL, like what you get when you reset password via Setup.  Has anyone run into this and found a workaround?  (Of course community users have no trouble with password resets through this Visualforce page.) Bootcamp: The startup disk does not have enough space to be partitioned When clicking continue on the first Boot Camp screen,  I am presented with a dialog that displays:     The startup disk does not have enough space to be partitioned.   You must have at least 39 GB of free space available.     This is despite "About this Mac" reporting 271GB of free space:    And "Disk Utility" reporting 268GB of free space:    Searching online I found  which suggested it was the result of Time Machine which i recently enabled and suggests to run sudo tmutil thinlocalsnapshots / 999999999999 which I did, it ran sucessfully, and I restarted, yet to no avail.  What is the solution to this instance of Apple's poor engineering?  Running macOS High Sierra 10.13.4 (17E202) Replacing a font in many illustrator files I have several hundred Illustrator files that are formatted similarly, and for legal reasons I need to replace a font in all of them. Even with the 'Find font' tool, that's a hell of a lot of fonts to replace by hand.  Is there some way of automating it? For example, using Bridge? Illustrator (CS5) doesn't offer many options in Bridge, compared to the automation options offered by Photoshop. I also don't see any option for running actions on multiple Illustrator files.  Also, creating a repeatable action for replacing the font doesn't seem to work: instead of repeating my action, it brings up the dialog box an waits for me to tell it to replace them.  As a programmer I'm prepared to edit the files directly if it can be done without breaking them.    Update: The 'Batch...' menu item from Illustrator's actions panel menu allows the same action to be performed on a folder of files. It doesn't fix the Find Fonts action waiting for input though. Toggling the dialog off makes the action do nothing at all. makefiles CFLAGS In the process of learning tinyos I have discovered that I am totally clueless about makefiles.  There are many optional compile time features that can be used by way of declaring preprocessor variables.  To use them you have to do things like:  CFLAGS="-DPACKET_LINK"        this enables a certain feature.  and    CFLAGS="-DPACKET_LINK" "-DLOW_POWER" enables two features.  Can someone dissect these lines for me and tell me whats going on? Not in terms of tinyos, but in terms of makefiles! How can I find a saved Wi-Fi password? How does the British-Irish Visa Scheme (BIVS) work? Wirtinger Inequality: $\int_0^1 f'^2 \geq \pi^2 \int_0^1 f^2 $ I have a  basic question  Let $f$ be a $\mathcal{C}^1$  map  from  $[0,1]$ into $\mathbb{R}$ vanishing in $0$ and $1$. I want to prove that   $$\int_0^1 f'^2 \geq \pi^2 \int_0^1 f^2 $$  and to see when we have equality. We moved to a new place where the dryer connection is 3-prong instead of 4-prong. The dryer was originally 4-prong, so we bought a 3-prong cord and installed it. It works fine, except I am not entirely sure if I installed the ground wire correctly.   Originally, there was a green wire on the cord itself, and that was connected to the screw on the top of the first picture. This is, I assume, used to ground the case and prevent shocks when touching the exterior of the dryer.  Now with the 3-pronged plug, there is no ground wire on the cord. So where does the existing green wire in the case go? Do I leave it where it originally was like in the first picture or do I connect it to the central terminal like in the second picture?      There's no bonding strap running from the case to any terminal. I can't tell where the green wire is connected to. Derivation of E step in EM algorithm While im going through the derivation of E step in EM algorithm for pLSA, i came across the following derivation . Could anyone explain me how the following step is derived.   $\sum_z q(z) log \frac{P(X|z,\theta)P(z|\theta)}{q(z)}  = \sum_z q(z) log \frac{P(z|X,\theta)P(X,\theta)}{q(z)} $ If a drive doesn't know about partitions and files systems why moving a file from one partition to another takes relatively long time, unlike the instantaneous move on the same partition? Is that file system inefficiency? In this case, NTFS. It seems like the file is being copied and then original is erased, instead of removing the entry about that file in one partition and making it in another? Is a black hole singularity a single point? General relativity is expressed in terms of differential geometry, which allows you to do interesting things with the coordinates: multiple coordinates may refer to a single point, eg. the  has whole lines at the top and the bottom that correspond to the North and South poles, respectively; or a single coordinate may refer to multiple points, for example by using inverse geometry the origin refers to all the points infinitely far away.  So, is the singularity just a single point in the curved spacetime, or can it be a more extended object, described by a single coordinate? How do I Sort a Multidimensional Array in PHP I have CSV data loaded into a multidimensional array. In this way each "row" is a record and each "column" contains the same type of data.  I am using the function below to load my CSV file.  function f_parse_csv($file, $longest, $delimiter) {   $mdarray = array();   $file    = fopen($file, "r");   while ($line = fgetcsv($file, $longest, $delimiter))   {     array_push($mdarray, $line);   }   fclose($file);   return $mdarray; }   I need to be able to specify a column to sort so that it rearranges the rows.  One of the columns contains date information in the format of Y-m-d H:i:s and I would like to be able to sort with the most recent date being the first row. What is port forwarding and what is it used for? There are a lot of questions on , but there doesn't seem to be one that clearly states what it is and what it's used for. So:   What is port forwarding? What is it used for, and why would I need it? msiexec is command prompt software that installs an  program. But I have found that you can install an MSI file from the command line by just typing in the name of the MSI file on the command line.  But in order to uninstall the MSI file, it seems you have to call the msiexec program and give it a /x or /uninstall.  How can I uninstall an MSI from the command line without using the msiexec routine? Best way to strip punctuation from a string Does this parallel structure need coordinated prepositions to avoid being a faulty parallelism? How do I complete "Find the Bitizen"?